【12.23】转行小白历险记-算法02

不会算法的小白不是好小白,可恶还有什么可以难倒我这个美女的,不做花瓶第二天

一、螺旋矩阵

59. 螺旋矩阵 II - 力扣(LeetCode)

1.核心思路:确定循环的路线,左闭右开循环,思路简单,就是操作需要思考,需要注意的是如果是奇数的话,中间的数需要等于循环次数加1

var generateMatrix = function(n) {// 初始化变量let startX = startY = 0;   // 起始行和列let loop = Math.floor(n/2);   // 需要进行的螺旋圈数let mid = Math.floor(n/2);    // 矩阵中心点let offset = 1;    // 用于控制每一层螺旋的长度let count = 1;     // 用于填充矩阵的数字let res = new Array(n).fill(0).map(() => new Array(n).fill(0)); // 创建初始矩阵// 外层循环控制螺旋圈数while (loop--) {let row = startX, col = startY;// 上行从左到右填充(左闭右开)for (; col < n - offset; col++) {res[row][col] = count++;}// 右列从上到下填充(左闭右开)for (; row < n - offset; row++) {res[row][col] = count++;}// 下行从右到左填充(左闭右开)for (; col > startY; col--) {res[row][col] = count++;}// 左列从下到上填充(左闭右开)for (; row > startX; row--) {res[row][col] = count++;}// 为下一个螺旋圈更新起始位置startX++;startY++;// 更新offset,减少下一层螺旋的长度offset += 1;}// 如果n为奇数,单独设置中心点的值if (n % 2 === 1) {res[mid][mid] = count;}return res;
};

二、二分查找

题目:69. x 的平方根 - 力扣(LeetCode)

可恶太可恶了,一看就会一用就废是吧,二分是吧

算术平方根科普,你们看到这里就知道看我这个博主的帖子真的是很小白了,我居然这东西都忘记了,高中老师对不起

我觉得理解这道题,要对算数平方根的特点要了解

1.哪些数的算数平方根是本身

2.对于任何大于 1 的整数 x,其平方根不会大于 x / 2

3.所以这里就会有一个区间

4,接着就是按照二分法的写法进行解析

我觉得还需要再看一遍

 三、移除元素

844. 比较含退格的字符串

心得

1.思路是对的

  • 先筛选字符串,找出筛选后的字符串
  • 再判断两个字符串是不是相等

2.没有写出来的原因

  • 我不知道怎么字符转数组(虽然不好意思写出来,但是还是要写出来)
  • 如果两个用到的方法是类似的,那么就可以考虑方法的复用
  • 但是我这个写法很笨
/*** @param {string} s* @param {string} t* @return {boolean}*/
/**
也就是说如果字母后面存在一个#那么前面的字母就会被删除
我们得先判断一下这两个字符串没有#后的数组是什么样子
分别循环这两个字符串*/
var backspaceCompare = function(s, t) {function processString(str) {let arr = str.split(''); // 将字符串转换为数组for (let i = 0; i < arr.length; ) {if (arr[i] === '#') {if (i > 0) {arr.splice(i - 1, 2); // 删除 '#' 及其前一个字符i--; // 由于删除了两个字符,索引减少} else {arr.splice(i, 1); // 删除 '#' 字符}} else {i++; // 移动到下一个字符}}return arr.join(''); // 将数组转换回字符串}// 处理两个字符串s = processString(s);t = processString(t);return s === t; // 比较处理后的字符串
};

让我们看看好的小伙伴写的咋样

var backspaceCompare = function(s, t) {for(var i=0;i<s.length;i++){if(s[i]==='#'){if(i===0){s=s.slice(1)i--}else{s=s.slice(0,i-1)+s.slice(i+1)i-=2 }}}for(var i=0;i<t.length;i++){if(t[i]==='#'){if(i===0){t=t.slice(1)i--}else{t=t.slice(0,i-1)+t.slice(i+1)i-=2}}}return s===t
};

今天刷的算法题,有些还没有及时笔记,后续补 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/488333.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL 5.7.18 解压版安装

原文链接&#xff1a;https://my.oschina.net/u/3474266/blog/895696 我在安装免安装版的5.7.18的时候出现了问题&#xff0c;正好找到这个&#xff0c;十分感激 今天下载安装了MySQL Community Edition 5.7.18压缩版&#xff0c;过程中遇到了一些坑&#xff0c;特地写个博客记…

订单失效怎么做的_?糟了,刚发货的订单竟然被取消掉了?我该怎么办!

“叮叮&#xff01;您的Newegg国际商城有新订单啦&#xff0c;请及时查看&#xff01;”又来新订单了&#xff0c;赶紧打包发货&#xff01;可是三天后……“尊敬的商家您好&#xff0c;您的订单超过72 小时未发货&#xff0c;系统已经自动取消该订单”。什么&#xff1f;订单被…

6G概念及愿景白皮书

来源&#xff1a;中国指挥与控制学会“本白皮书将从6G愿景、6G应用场景、6G网络性能指标、6G潜在关键技术、国际组织和各国6G研究进展等方面展开讨论&#xff0c;并提出加快推进我国6G研发的相关建议。”编写 | 赛迪智库无线电管理研究所 执笔 | 彭健 孙美玉 滕学强目录一、前言…

git编译安装与常见问题解决

1. 先去官网下载一个安装包 &#xff0c;假设目录/APP/ido2. cd /APP/ido3. tar -zxvf git-2.7.2.tar.gz4. 安装依赖yum -y install gcc openssl openssl-devel curl curl-devel unzip perl perl-devel expat expat-devel zlib zlib-devel asciidoc xmlto gettext-devel openss…

哺乳动物亚种在物种进化中至关重要

查尔斯达尔文的《物种起源》一书来源&#xff1a;科技日报 图片来源&#xff1a;物理学家组织网据物理学家组织网18日报道&#xff0c;查尔斯达尔文逝世约140年后&#xff0c;其进化论的一个理论终获证实&#xff01;英国剑桥大学科学家在18日出版的《英国皇家学会学报B卷》上撰…

window挂载到linux服务器上,在windows 7操作系统下设置挂载Linux服务器

在Windows 7操作系统下增加了很多有用的功能&#xff0c;只是默认没有开启而已&#xff0c;今天简述下一个Windows 7下的NFS功能&#xff0c;通过这个功能&#xff0c;可以让Windows 7共享Linux下面的磁盘分区或者目录数据&#xff0c;这个功能原理只能通过samba或者ftp来实现&…

Android属性动画完全解析(上),初识属性动画的基本用法

转载请注明出处&#xff1a;http://blog.csdn.net/guolin_blog/article/details/43536355 在手机上去实现一些动画效果算是件比较炫酷的事情&#xff0c;因此Android系统在一开始的时候就给我们提供了两种实现动画效果的方式&#xff0c;逐帧动画(frame-by-frame animation)和补…

两位概率论顶级专家获得2020阿贝尔奖

来源&#xff1a;哆嗒数学网弗斯滕伯格介绍当希勒尔弗斯滕伯格(Hillel Furstenberg) 发表其早期的一篇论文时&#xff0c;有传言说他并非一个人&#xff0c;而是一群数学家的化名。该论文涵盖的思想覆盖诸多领域&#xff0c;真的不可能是一个人的成果吗&#xff1f;虽然这件事可…

清华大学计算机系教授:马少平——计算机是如何实现智能的(附直播回放)...

来源&#xff1a;图灵人工智能直播回放长按识别观看回放报告摘要这是一个关于人工智能的科普讲座。人工智能经过六十几年的发展&#xff0c;取得了很大的成果&#xff0c;在很多领域得到了很好的应用。那么人工智能是如何实现的&#xff1f;本讲座将结合一些大家熟知的实例&…

CSS图像绘制之:条纹背景(转)

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>漂亮的CSS3动画进度条DEMO演示</title><style> html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,ci…

新基建专题报告:未来发展方向及重点产业分析

报告来源&#xff1a;中银证券转自&#xff1a;未来智库一、新基建以强外溢性稳增长、补短板、调结构1&#xff09;新基建以强外溢性稳增长全球经贸摩擦加剧&#xff0c;叠加海外疫情导致各国经济存在不确定性的影响下&#xff0c;外需不足&#xff0c;内需承压&#xff0c;经济…

查看网站所有会话_你能看到网站上每个产品的数据吗?

经常有群友问怎么查看网站上每一个产品的数据。查看每个产品的数据&#xff0c;有助于我们了解网站上哪个产品是热销品&#xff0c;哪个产品还需要进行优化&#xff0c;从产品层面优化提高网站整体的转化率。查看方法也很简单&#xff0c;我们还是打开Google Analytics点击左侧…

C++实现树的基本操作,界面友好,操作方便,运行流畅,运用模板

Ⅰ.说明&#xff1a;1.采用左孩子右兄弟的方式&#xff0c;转化为二叉树来实现。2.树的后根遍历与二叉树的中根遍历即有联系又有区别&#xff0c;请读者注意分析体会。Ⅱ.功能&#xff1a;1.创建树并写入数据2.先根遍历树3.计算树高4.后根遍历树5.层次遍历树6.搜索数据域为某值…

罗敏敏组建立新型脑-脑接口实现“阿凡达”式的跨鼠遥控

来源&#xff1a;中国科学杂志社人或动物个体之间的交流主要依靠感觉系统&#xff0c;比如视觉、听觉、嗅觉和触觉。2009年的科幻电影《阿凡达》展示了地球上的人可以通过脑对脑的直接信息传递&#xff0c;远程控制潘多拉星上经过基因改造的纳威人身体。近几年有研究展示可以从…

linux下的gpio转串口驱动,X-026-KERNEL-Linux gpio driver的移植之gpio range

X-026-KERNEL-Linux gpio driver的移植之gpio range作者&#xff1a;wowo 发布于&#xff1a;2017-9-27 22:27分类&#xff1a;X Project1. 前言我们在[1][2]中提到过&#xff0c;鉴于gpio的特殊性&#xff0c;pinctrl subsystem特意留了一个后门(gpio range)&#xff0c;gpio …

长文综述:从大数据中寻找复杂系统的核心变量

文章来源&#xff1a;【集智俱乐部】原文链接&#xff1a;https://mp.weixin.qq.com/s/IIliI5plz2UBUMAzVpxClw导语尽管大数据的收集越来越容易&#xff0c;但随着从微观到宏观的尺度&#xff08;scale&#xff09;变化&#xff0c;系统行为会发生非线性的变化&#xff0c;这让…

android设置主题背景为壁纸_ppt模板防早恋安全教育主题班会课件ppt,两个青春期的孩子画面为背景...

ppt模板--防早恋安全教育主题班会课件ppt这是一套防早恋安全教育主题班会课件ppt&#xff0c;共26页。PPT封面以简约的白色背景&#xff0c;五彩斑斓的地面象征孩子们丰富多彩的学生生活&#xff0c;两个青春期的孩子画面为背景&#xff0c;蓝色正体字突出主题&#xff1a;防早…

Linux下启动程序常见问题,linux系统启动流程及常见故障解决方式

Linux系统中启动的流程:1.加载bios的硬件信息以及进行自我检测 并根据设置取得第一个启动的设备2.若以硬盘方式引导 读取并执行引导扇区 MBR3.加载grub(引导程序)启动菜单(/\)4.加载内核(以只读方式进行挂载)5.挂载根目录系统 启动init进程(所有进程的鼻祖)6.读取/etc/initt…

vscode红色波浪不见了_vscode c++ 编译可以通过 但是有红色波浪线的问题

作者&#xff1a;送外卖转行计算机来源&#xff1a;SegmentFault 思否1.command p, 然后输入 >C/C选择 编辑配置(JSON)然后在工作区会出现一个.vscode文件夹, 其中会有一个.json文件的配置2.打开命令行 输入gcc -v -E -x c -会有以下的信息 ignoring nonexistent director…

云计算军事运用有啥特点

来源&#xff1a;军语研究院云计算技术被视为继大型计算机、个人计算机、互联网之后的第四次信息技术产业革命。云计算是一种围绕分布式共享计算资源的创新应用模式&#xff0c;资源提供者可以方便而快速地提供计算资源&#xff0c;而无处不在的资源需求者可以便利地使用共享的…