![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
前端算法题
文章平均质量分 62
感谢上Di_123
感谢上Di的En典
展开
-
打卡57天------图论(两种算法)
今天在学习prim 和 kruskal的同时,也要清楚这两个算法的区别所在。最近的算法题都太高深莫测了,对于一个前端工程师来说,要求没有那么严吧。二、kruskal算法精讲。一、prim算法精讲。原创 2024-08-28 21:42:01 · 22 阅读 · 0 评论 -
打卡56天------图论(冗余连接)
图论的题对于前端工程师很少用到,我还是先去做做react的常用面试题吧。上面两道题目是不是感觉做出自信了,感觉并查集不过如此?并查集应用类题目,关键是如何把题意转化成并查集问题。来这道题目 给大家适当一些打击, 难度上来了。原创 2024-08-27 22:21:18 · 181 阅读 · 0 评论 -
打卡55天------图论(并查集)
图论这里我学的不是很好,作为一名JavaScript前端开发工程师,我能说我基本上在工作中都没用到过吗?原创 2024-08-26 11:01:43 · 362 阅读 · 1 评论 -
打卡53天------图论(应用题)
经过上面的练习,大家可能会感觉 广搜不过如此,都刷出自信了,本题让大家初步感受一下,广搜难不在广搜本身,而是如何应用广搜。深搜有细节,同样是深搜两种写法的区别,以及什么时候需要回溯操作呢?简单题,避免大家惯性思维,建议大家先独立做题。二、有向图的完全可达性。原创 2024-08-24 09:14:18 · 254 阅读 · 0 评论 -
打卡52天------图论(应用题)
需要点优化思路,建议先自己读题,相处一个解题方法,有时间就自己写代码,没时间就直接看题解,优化方式 会让你 耳目一新。同样优化思路也会让你耳目一新,自己想比较难想出来。基础题目 可以自己尝试做一做。和上一题差不多,尝试自己做做。原创 2024-08-24 09:12:23 · 423 阅读 · 0 评论 -
打卡51天------图论(深搜/广搜应用题)
最近真的太忙了,没时间刷题,白天工作,我在church的Choir事工还不想停止,需要我在工作、生活、church做一个平衡,周六慢慢补上吧,交托给上Di。,弄清楚为什么会超时,因为你第一次 幸运 没那么想,第二次可就不一定了。如果自己做的录友,题目通过了,也要仔细看第一种写法的超时版本。熟练掌握这两种写法 以及 知道区别在哪里,才算掌握的深搜。注意广搜的两种写法,第一种写法为什么会超时,本题就是基础题了,做过上面的题目,本题很快。注意深搜的两种写法,原创 2024-08-22 22:50:11 · 321 阅读 · 0 评论 -
打卡50天------图论
另外,其实很多dfs写法,没有写终止条件,其实终止条件写在了, 下面dfs递归的逻辑里了,也就是不符合条件,直接不会向下递归。了解一下深搜的原理和过程,其实对于深搜和广搜我自己也写过一篇博客,是我个人的理解,但是没有卡尔总结的全面,如此看来真的是小巫见大巫了。终止条件很重要,很多同学写dfs的时候,之所以容易死循环,栈溢出等等这些问题,都是因为终止条件没有想清楚。正式开启图论了,作为一个前端工程师,这个代码随想录真的刷新了我对于算法的认知,每天都在学习新东西。可以访问的所有节点的列表(即从节点。原创 2024-08-21 21:53:50 · 427 阅读 · 0 评论 -
打卡第49天------单调栈
这几天工作量实在是太大了,白天没时间刷题,只好晚上搞这个事儿了。祈祷实现两份工作的无缝衔接。个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1。的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。求在该柱状图中,能够勾勒出来的矩形的最大面积。个非负整数表示每个宽度为。2.柱状图中最大的矩形。原创 2024-08-20 22:08:50 · 205 阅读 · 0 评论 -
打卡第48天------单调栈
因为我们遍历数组的时候,我们不知道之前都遍历了哪些元素,以至于遍历一个元素找不到是不是之前遍历过一个更小的,所以我们需要用一个容器(这里用单调栈)来记录我们遍历过的元素。是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。,因为在遍历的过程中需要用一个栈来记录右边第一个比当前元素高的元素,优点是整个数组只需要遍历一次。例如本题其实就是找找到一个元素右边第一个比自己大的元素,此时就应该想到用单调栈了。如果不存在下一个更大元素,那么本次查询的答案是。原创 2024-08-19 23:02:00 · 412 阅读 · 0 评论 -
JS 查询树形节点的最深层级 && 递归查找树形节点的某个节点
以上 就是封装好的方法,有需要的朋友可以参照一下的!原创 2020-11-18 11:20:33 · 5444 阅读 · 1 评论 -
JS 树形数据结构的转化
平常在使用antd的tree或者elementUI的tree去开发项目的时候,要求向这个组件中传递的数据都是格式化好的,有嵌套层级的数组,这种情况下就需要我们自行封装方法去组装数据结构,具体的代码如下:// 格式化树数据function toTreeData(data) { const pos = {} const tree = [] let i = 0 while(data.length != 0) { if(data[i].pid == null) { tre原创 2020-11-19 10:44:28 · 1616 阅读 · 0 评论 -
JS 深度优先遍历与广度优先遍历 实现查找
在日常的开发工作中,牵扯到层级结构比较复杂的节点,如树形节点,级联选择器,这些都是牵扯到前端算法的遍历的;本文将介绍常用到的两种遍历方式:深度优先遍历和广度优先遍历深度优先遍历:depth first search广度优先遍历:breadth first search1.示意图通过两组示意图来明白什么叫做深度优先遍历和广度优先遍历图一(深度遍历示意图)深度遍历查找会按照图中绿色标注的数字去查找,就相当于是一条道走到黑,如果没有叶子节点的话,会再拐回来,回溯到上一个节点再搜索其余的,按原创 2020-12-17 19:06:29 · 1650 阅读 · 0 评论 -
JS 请编写一个Child继承Parent的方法
JS 有哪些继承方式JavaScript 中常见的继承方式有以下几种:原型链继承构造函数继承组合继承(原型链加构造函数)原型式继承寄生式继承ES6 的class的extends关键字(用于现代类继承)原创 2024-05-09 15:24:11 · 269 阅读 · 0 评论 -
JS 实现快速排序/快排
(2)所有小于"基准"的元素,都移到"基准"的左边;所有大于"基准"的元素,都移到"基准"的右边。(3)对"基准"左边和右边的两个子集,不断重复第一步和第二步,直到所有子集只剩下一个元素为止。(1)在数据集之中,选择一个元素作为"基准"(pivot)。原创 2024-05-09 15:33:00 · 130 阅读 · 0 评论 -
JS 实现二分法查找
二分法查找,也称折半查找,是一种在有序数组中查找特定元素的搜索算法。注意前提是数组的顺序是从小到大或从大到小排列好顺序的。具体的实现步骤是:(1)首先,从有序数组的中间的元素开始搜索,如果该元素正好是目标元素(即要查找的元素),则搜索过程结束,否则进行下一步。(2)如果目标元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半区域查找,然后重复第一步的操作。(3)如果某一步数组为空,则表示找不到目标元素。原创 2024-05-09 15:45:34 · 208 阅读 · 0 评论 -
打卡第46天------动态规划(回文串)
想要快点把每一道题给练会,在面试的时候跟面试官对答如流,这家公司实在是让我没有继续待下去的欲望了,天天祈祷上Di,求Shang帝帮助我实现两份工作的无缝衔接。交托仰望。今天 我们就要结束动态规划章节了,动态规划的题目还是挺难的,贪心和动态规划对我来说都比较困难,对于我这种刷题小白来说实在是一脸懵呀。原创 2024-08-17 20:38:39 · 698 阅读 · 0 评论 -
打卡第43天------动态规划(递增序列)
加油,坚持!滴水石穿,从此offer到手,从此offer不再是路人。原创 2024-08-14 15:42:02 · 297 阅读 · 0 评论 -
打卡第42天------动态规划(买卖股票4)
时间真的过的太快了,每天都在与时间赛跑。原创 2024-08-13 11:04:43 · 270 阅读 · 0 评论 -
打卡第41天------动态规划(买卖股票)
现在这份工作真的是一天都不想干了,骑马找马,没有裸辞的勇气,祈祷上帝让我实现两份工作的无缝衔接。原创 2024-08-12 11:06:54 · 543 阅读 · 0 评论 -
打卡第37天------动态规划
加油!不要放弃,那些冲进清北复交的高材生的水平真不是盖的,名不虚传,有实力的全能选手。我在刷题的过程中不得不表达一下对他们的钦佩。这里在遍历顺序上可就有说法了。原创 2024-08-09 13:48:45 · 271 阅读 · 0 评论 -
打卡第35天------动态规划
1049.最后一块石头的重量II题目描述:有一堆石头,用整数数组stones表示。其中stones[i]表示第i块石头的重量。每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为x和y,且x原创 2024-08-07 20:44:14 · 356 阅读 · 0 评论 -
打卡第33天------动态规划
周末的时候刷题了,在代码随想录系统的学习了一遍算法,看到leetcode上的题不再那么懵了,有点思路了,心里面对题的恐惧感也在逐渐消失,滴水石穿,小坚持带来大改变。原创 2024-08-05 15:53:04 · 358 阅读 · 0 评论 -
打卡第32天------动态规划
坚持了一个月了,骑马找马,要坚持不懈呀✊。原创 2024-08-03 11:58:32 · 259 阅读 · 0 评论 -
打卡第31天------贪心算法
每天抓紧时间刷题,争取尽快上岸,不能再耽误一分一秒了,2024年已经过去大半年了。这个算法编程题是我的痛点。要尽快弥补。卡尔在讲算法题的时候,思路比较清晰,通俗易懂,以前看见算法题就害怕,因为啥都不会,看懵了,跟了一个月了,每天坚持刷题,偶尔会回顾思路,也会回顾他讲的那些方法,没那么害怕了,内心里面对算法题的恐惧感也在慢慢消失。原创 2024-08-02 17:39:29 · 1797 阅读 · 0 评论 -
打卡第30天------贪心算法
我身边的大佬都在陆陆续续的撤退,喜提n+3的劳动赔偿。社会有时候很残酷呀,走的太突然了,前一天还在跟他沟通工作,第二天再去找他,人没了,哎。。。。。我主管可是全能选手呀,原来干java后来转前端,什么都会,业务能力和技术水平都是绝对的No.1,心里想着他肯定不会被通知,绝对是安全的,结果。。。这让我情何以堪呀。。。全能选手都能被裁。。。实在是不应该呀,我真的无语了,我只想感叹一下世态炎凉呀。没准以后公司发展好了,再返聘他的话,他还要把这些劳动赔偿都返还给公司呢,哈哈哈~原创 2024-08-01 16:29:11 · 874 阅读 · 0 评论 -
打卡第29天------贪心算法
开始刷题了,天天祈祷上帝,求主帮助我提前预备好自己,使我在机会来临的时候可以抓住机会成功上岸!原创 2024-07-31 15:18:18 · 928 阅读 · 0 评论 -
打卡第24天------回溯算法
表达一下自己每天的刷题想法。希望我刷完代码随想录,自己的进步能有大幅度的提升。原创 2024-07-26 17:36:41 · 166 阅读 · 0 评论 -
打卡第23天------回溯算法
注意题目中给我们 集合是有重复元素的,那么求出来的 组合有可能重复,但题目要求不能有重复组合。本题是 集合里元素可以用无数次,那么和组合问题的差别 其实仅在于 startIndex上的控制。,大家先看视频来理解 分割问题,明天还会有一道分割问题,先打打基础。本题开始涉及到一个问题了:去重。原创 2024-07-26 10:42:08 · 144 阅读 · 0 评论 -
打卡第22天------回溯算法
开始学习了,希望我可以尽快成功上岸!原创 2024-07-24 22:51:50 · 785 阅读 · 3 评论 -
打卡第21天------二叉树
我现在每天都是在与时间赛跑,分秒必争,不想浪费一点我自己的时间。希望通过算法训练营可以把我自己的逻辑思维建立起来,把自己的算法能力给提上去。原创 2024-07-23 15:29:34 · 330 阅读 · 0 评论 -
打卡第20天------二叉树
开始学习了。原创 2024-07-22 21:21:19 · 132 阅读 · 0 评论 -
打卡第18天------二叉树
我在参与代码训练营之前是有自学一段时间,因为自学过,还可以吃老本,现在老本都吃完了,不努力不行了呀,天天都要进步呀!先放在这里明天在补上,因为明天休息,昨天的今天都补完了。原创 2024-07-20 22:45:48 · 120 阅读 · 0 评论 -
打卡第17天------二叉树
开始做题了,认真刷题,再次祈祷上帝,求上帝帮助我不在题海中沉沦下去,而是,提前预备好自己,在机会来临的时候,抓住机会,成功上岸!原创 2024-07-19 20:41:17 · 129 阅读 · 0 评论 -
打卡第16天------二叉树
我一般周六时间充裕,再周六会把这周欠的技术债都给补上。先放这里吧,回头我有时间的时候再给补上。原创 2024-07-18 22:36:40 · 122 阅读 · 0 评论 -
打卡第15天------二叉树
最近公司给我派活儿太多了,要干好多活儿,好多工作任务要处理,我都没时间刷题了。leetcode上的题目通过数量一直停留在原地不动,我真的很着急呀,我现在每天过的都有一种紧迫感,很着急,有一种与时间赛跑的感觉,真的时间过的太快了,没有任何人能够阻挡住时间的年轮向前推进的脚步,时间真的过的太快了。原创 2024-07-17 22:43:07 · 689 阅读 · 0 评论 -
打卡第13天-----二叉树
二叉树的前/中/后序遍历,按照递归的方式来写一遍,对应leetcode题目为:144/94/145。二叉树的前/中/后序遍历,按照递归的方式来写一遍,对应leetcode题目为:144/94/145。迭代遍历的思路就是用栈来实现遍历,以数组为例子,实现入栈和出栈,通过while循环。1、二叉树的种类:满二叉树、完全二叉树、二叉搜索树、平衡二叉搜索树;2、存储方式:链式存储(用指针)、顺序存储(用数组);3、确定递归的单层逻辑,重复调用自身来实现递归。3、遍历方式:深度优先遍历、广度优先遍历。原创 2024-07-15 22:31:58 · 357 阅读 · 0 评论 -
打卡第11天-----栈与队列
每天进步一点点。在leetcode上刷题刷了一段时间了,发现要是理解思路的话,会进步很快,真的没有那么难的,不要一看到题的字数很多,情况很复杂就被吓到了,就把自己给整懵了,要敢于对题目进行挑战。我每天的JS代码,基本上都是看了卡尔的算法公开课,他讲的那些我都听懂了,按照他提供的思路写出来的,慢慢进步吧,滴水石穿,希望可以看到坚持到最后自己的完美蜕变,希望我自己拿到leetcode上的题就能自己不依靠拐杖的情况下就完独立完成。原创 2024-07-13 20:37:55 · 311 阅读 · 0 评论 -
打卡第10天-----栈与队列
希望今年可是实现两份工作的无缝衔接,成功完成一次跳槽,最好不要成为无业游民。希望上帝成就我向他所祈求的,哈哈哈~原创 2024-07-12 22:06:46 · 350 阅读 · 0 评论 -
打卡第8天-----字符串
进入字符串章节了,我真的特别希望把leetcode上的题快点全部都给刷完,我是社招准备跳槽才选择这个训练营的,面试总是挂算法题和编程题,希望通过这个训练营我的算法和编程的水平能有所提升,抓住机会,成功上岸。我现在的这份工作,真的是一天都不想干了,但是下家工作单位还没找好,不能裸辞,只能骑马找马,一边工作一边找工作了........原创 2024-07-10 22:07:11 · 274 阅读 · 0 评论 -
打卡第7天-----哈希表
继续坚持✊,我现在看到leetcode上的题不再没有思路了,真的是思路决定出路,在做题之前一定要把思路梳理清楚。原创 2024-07-09 22:00:36 · 395 阅读 · 0 评论