获得徽章 9
- 贪心算法:当前情况下的局部最优解
目标:最少步数到达最后一个位置
思路:
至少先走一步,否则没法知道下面怎么走;
但是,这一步走到哪是不确定的,取决于后面位置的值能否超过它的覆盖范围。
此题为例,起点可以走两格,furthest被赋2,i等于end,步数加1,end被赋2。
第二位是3,3+1是4,第三位是1,1+2是3,起点最远走到这,过程中发现了4,所以furthest被赋4。
当位置i和end不等时,不需要加步数,就好比,如果这里的数组是[2,3,1],从起点可以一次走到最后,则不管后面是什么都不用走了,只有位置i和最远距离end发生重合(说明还没到最后),才需要走下一步。
这里要继续往下看接下来的位置和值有没有超过4的。如果有,再给furthest,没有,furthest不需要变。
当位置和end再次重合,即i等于2时,步数加1为2,end位置后移到4。
后面的位置中,1+2是3,1+3是4,没有能超过前面的范围了,最大只是相等,而循环已经进行完。
furthest保持不变,步数也保持不变,得出结果。
这只是一个小例子,这种算法可以解决很多类似场景的问题,待后续分享。展开评论点赞 - 继续为前端伙伴谋福利。
除了文章和组件包,又来分享算法题了~
题:给一组数,求两数之和为目标值的索引值。(如图)
很多小伙伴都谈“算”色变,其实大可不必,算法思维能帮助我们变得更聪明(节省时间/空间),从易到难,循序渐进,便可乐在其中。
代码同步github。github.com
展开赞过52 - Chrome浏览器几个实用技巧分享:
1、一键展开DOM树
右键:expand recursively
或者
alt+鼠标点击DOM元素左箭头
2、重新发送请求:
请求右键 Replay XHR
3、控制台输出上次计算的表达式结果
$_
4、console.log同时输出多个值(键值对)
console.log({ a, b });可清晰看到key和value,而不仅是value。
5、有些操作选项在面板上看不到,可以使用ctrl+shift+p(win),然后手动输入就能查到,比如:
网页截图,可选择“node、area、full size”,进行不同范围的精准截图。
6、可使用ctrl、shift、alt,或option、cmd和箭头组合来对面板中的数字进行0.1、1、10、100等多维度增减。在调试样式时比较有用。展开赞过评论1 - 由于Vue的易上手、学习曲线平滑,及作者是中国人的优势,近年势头高居不下,用户很多,但只要稍微观察就会发现,很多公司,包括大厂,都有用React在开发项目,虽说三大框架哪个都能用,但只掌握一个显然是不利的,最近在B站看到一个React的教程,讲得很不错,已经等不及看完再推荐了,需要的朋友一起学起来~
www.bilibili.com
等人赞过1917 - 知识有“浅显”和“艰深”之分,但分享都应是专业且易读、易吸收的。好的分享,要让读者把不懂的看懂,不是本来懂的反而又糊涂了。
新的一年,业余目标之一是做一系列原生JS分享,可能是电子,也可能是纸质,都在聊,不论哪种形式,我都会尽力做到最好,欢迎关注
赞过评论1
![[微笑]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_1.7d9f699.png)