首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
算法
wo不是黄蓉
创建于2022-02-10
订阅专栏
算法
暂无订阅
共19篇文章
创建于2022-02-10
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
75.寻找旋转排序数组中的最小值
day22: 153. 寻找旋转排序数组中的最小值 (中等) 若旋转 4 次,则可以得到 [4,5,6,7,0,1,2] 若旋转 7 次,则可以得到 [0,1,2,4,5,6,7] 注意,数组 [a[
74.两数相加
day21: 2. 两数相加(中等) 你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 思路: 一个比较巧妙的地方:一位内数字是按照逆序的顺序存储的, 因此将其反转过来之后,相加,但是位数不
73.剑指 Offer 33. 二叉搜索树的后序遍历序列
昨天出去玩,回家太累了,断更一天。 day20: 剑指 Offer 33. 二叉搜索树的后序遍历序列(中等) 要点: **二叉搜索树:**左子树的所有节点的值<根节点的值;右子树中所有节点的值>根节点
72.剑指 Offer 10- I. 斐波那契数列
day19: 剑指 Offer 10- I. 斐波那契数列(简单) 题目: 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 思路: 动态规划:存
71.重建二叉树
day18: 剑指 Offer 07. 重建二叉树(中等) 思路:前序遍历:根左右,可以判定第一个节点一定是根节点。 后序遍历:左根右,可以判定左节点和右节点中间的一定是根节点。 因此在每次截取到的左
70.二维数组中的查找
day17: 剑指 Offer 04. 二维数组中的查找(中等) 思路: 遍历二维数组,使用二分法进行查找目标元素 官方:线性查找。 利用二维数组中数据是升序特征,判断每一个数组中的最值是否等于当前元
69. 最长回文子串
day16: 5. 最长回文子串 (中等) 依旧暴力解法,没有通过所有的测试用例 中心扩散法:前面示例的慢的主要原因在于需要列举每种字符串组合的出现情况,循环次数等于(i*(i-1)/2)次,而下面的
68.买卖股票的最佳时机
day16: 121. 买卖股票的最佳时机 (简单) 思路: 借用动态规划思路: 初始化表格全部为二维表格,我们只填充表格的一半,因为每次需要保证时间不能往回减(j=i+1),而且要保证第二天的本金足
66.零钱兑换
day15: 322. 零钱兑换(中等) 考点:动态规划 思路:也是所谓的填表格,但是要找好填表格的角度。 日常思维:循环所有数组,用目标元素除以当前元素的值存为结果,如果整除则存入,如果没有整除则查
65.最长公共子序列
day14: 1143. 最长公共子序列(中等) 考点:动态规划 上一个问题是用一维数组来解决的,这个问题我们使用二维数组来记录当前元素和其存在的公共子序列的个数。 创建初始化数组,每次循环之后和上一
64.最长递增子序列
day14: 300. 最长递增子序列 (中等) 考点:动态规划 动态规划思想: 在每个阶段都求得一个最优解,以此来达到结果最优的效果。 将每个问题分解成若干个子问题,先求解子问题,然后从子问题中得到
63.轮转数组
day:14 189. 轮转数组(中等) 考点:双指针 思路: 第一种解法:新建一个数组,计算每个位置该放的元素,将新数组中的值copy到原数组 官网第二种解法没有看懂 第三种解法:反转整个数组,,以
61.有序数组的平方
day13: 977. 有序数组的平方(简单) 思路: 直接解法:先算平方再用sort方法 使用双指针1:因为数组是有序的,因此可以先将数组划分为两部分,大于0的部分和小于等于0的部分。然后,从中间开
60.二分查找
day12: 704. 二分查找(简单) 思想和我之前写的有序数组中的单一元素很像可以参考。 二分二分: 先划分目标元素的左右两边 根据条件判断是否到达指定位置 不到指定位置就改变左右两边指针进行移动
6.反转二叉树
day9:翻转二叉树(简单) 思想:二叉树反转相当于对调每个枝叶上的元素,如果元素存在则进行交换,因此直接递归进行元素交换即可。 PS:不会有人向我一样这么傻吧,之前一直不知道给出的初始化代码中的工具
5.有序数组中的单一元素
day8:540. 有序数组中的单一元素(中等) 思想: 使用栈:由于数组中的元素都是成对出现的,因此使用栈对数组内容进行操作,到最后剩的一个就是需要返回的元素 使用二分法:还是由于数组中的元素都是成
4.两数之和
day7:两数之和(简单) 思路: 不考虑重复值的情况下,目标值为【target-当前项的值】,然后查找【target-当前项的值】的下标并且返回即可。 考虑有重复值的情况:自定义一个查找数组下标的方
3.K 个一组翻转链表
day6:算法-> 25. K 个一组翻转链表 思路: a.先将链表进行分组,然后调用反转链表的方法。参考 b.利用栈数据结构,先进后出完成反转。 第一种方法 第二种方法:
合并k个升序链表
day4:算法->合并k个升序链表 先来理解一下题目:给定一个数组,数组里面存的项是多个链表,此时我们不由地想起来之前做过合并两个升序链表的问题,这不就来思路了。 暴力求解法:先将链表中所有项都存入数