首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Wandra的前端算法题+思路
Wandra
创建于2024-08-30
订阅专栏
专注于记录Wandra写题路上的算法路径和解题思路
暂无订阅
共12篇文章
创建于2024-08-30
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
数组中的第k个最大元素:快速选择算法
思路:在递归期间,两个前后指针相等将要结束递归前,我们做个判断,判断这两个指针代表的下标值是否等于 nums.length - k ,含义是,这两个指针代表的值是否是数组中的第k个最大元素,如果等于
岛屿数量:四个方向的深度优先遍历
思路 题目要求计算岛屿的数量,那么怎么样从代码的角度去描述一个岛屿的数量呢,我的答案是深度递归的轮数,对给定输入的数组中的节点按照上右下左四个方向深度递归,整个二维数组有几轮深度递归链,那么就有几个岛
三数之和:数组排序+双指针
思路:将数组按照从小到大排序,代码一共设置两层循环遍历,第一层循环遍历给定的输入数组,取a为-nums[i],因为我们需要找到满足 a + b + c === 0的 a,b,c三个数,当a === -
整数反转:通过模拟链表pop和push的概念实现反转
思路:实际意义上,我们需要模拟上面描述到的类似于新旧链表不断pop和push的概念,因为我们不可能真的去建立这么长的链表(数字边界:`[−2^31, 2^31 − 1]`)。根据题目要求,输入一个数字
合并区间:左端点排序 + merged数组子项更新或者新添
思路 按照区间的左端点排序,那么在排完序的列表中,可以合并的区间一定是连续的;可以避免讨论多种情况:比如比较[a,b],[c,d],会出现针对a<c<b<d,a<c<d<b以及c<a<b<d,c<a<
求最大子数组之和:动态规划
思路:由于我们只需要找到连续一段连续子项的最大和,所以我们在遍历给定输入数组的时候,可以以当前值的前面子项所代表的和值是否负数作为关键的判断条件,如果当前值的前面的值的和为负数,那么就什么也不做,从当
无重复的最长子串(子串,滑动窗口)
思路:1.涉及子串,可以考虑使用滑动窗口来动态的扩张收缩子串。2.设置一个rl指针,值动态的申明为遍历字符串的每一个i值索引,表示从当前i位置开始滑动窗口。3.设置一个rk指针,当rl在当前i位置
两数相加(链表遍历,对应位置相加+进位)
思路:创建链表,使用head表示头,tail表示尾,tail表示 new ListNode的一个实例对象,包括val和next属性,对于数字对应位数相加,一般使用val(取余数后)记录当前位置的值,使
两数之和(map记录值,并验证是否等于target-nums[i])
思路:对数字相加等于某一个值(或者大于小于某一个值),即target,对于数组的每一个当前值,items[i],我们需要在数组中找到存在值targe - nums[i],我们可以判断map中是否存在
括号生成:递归 + 定义基础“( + left + )+ right”
括号生成算法思路:定义递归函数generateParenthesis(n) 输入一个n,返回一个每项都包含长度为2n的括号字符串,即n对儿括号的数组 当n为0的时候返回[""],当n为1的时候
删除链表的倒数第n个节点(创建虚拟头节点+数学关系)
想象你在追捕一个从链表尾部数第 n 个的神秘节点。要找到它,只需用链表长度 len 减去 n,就能知道它从头开始的位置 cur = len - n。但有个陷阱:如果 n 等于 len,你要删除的就..
电话号码的字母组合:循环遍历 + 递归 + 回溯
如何从一串神秘的数字中召唤出无数种由字母组成的咒语?当我们面对数字 "23" 时,我们要召唤出 "ad", "ae", "af", "bd", "be", "bf", 答案是:递归魔法+回溯的力量!!