代码随想录_刷题
咸鱼的自我变强之路
这个作者很懒,什么都没留下…
展开
-
代码随想录day53 110. 字符串接龙 105.有向图的完全可达性 106. 岛屿的周长
【代码】代码随想录day53 110. 字符串接龙 105.有向图的完全可达性 106. 岛屿的周长。原创 2024-08-24 11:30:25 · 221 阅读 · 0 评论 -
代码随想录day52 101孤岛的总面积 102沉没孤岛 103水流问题 104建造最大岛屿
【代码】代码随想录day52 101孤岛的总面积 102沉没孤岛 103水流问题 104建造最大岛屿。原创 2024-08-23 18:12:12 · 195 阅读 · 0 评论 -
代码随想录day51 99.岛屿数量 深搜 99.岛屿数量 广搜 100.岛屿的最大面积
【代码】代码随想录day51 99.岛屿数量 深搜 99.岛屿数量 广搜 100.岛屿的最大面积。原创 2024-08-22 18:28:08 · 177 阅读 · 0 评论 -
代码随想录day50 98. 所有可达路径
【代码】代码随想录day50 98. 所有可达路径。原创 2024-08-22 16:12:52 · 148 阅读 · 0 评论 -
代码随想录day49 42. 接雨水 84. 柱状图中最大的矩形
【代码】代码随想录day49 42. 接雨水 84. 柱状图中最大的矩形。原创 2024-08-22 11:22:40 · 220 阅读 · 0 评论 -
代码随想录day46 647. 回文子串 516.最长回文子序列
【代码】代码随想录day46 647. 回文子串 516.最长回文子序列。原创 2024-08-22 10:19:05 · 379 阅读 · 0 评论 -
代码随想录day46 647. 回文子串 516.最长回文子序列
【代码】代码随想录day46 647. 回文子串 516.最长回文子序列。原创 2024-08-18 17:45:02 · 242 阅读 · 0 评论 -
代码随想录day45 115.不同的子序列 583. 两个字符串的删除操作 72. 编辑距离
【代码】代码随想录day45 115.不同的子序列 583. 两个字符串的删除操作 72. 编辑距离。原创 2024-08-18 16:47:16 · 144 阅读 · 0 评论 -
代码随想录day44 1143.最长公共子序列 1035.不相交的线 53. 最大子序和 392.判断子序列
【代码】代码随想录day44 1143.最长公共子序列 1035.不相交的线 53. 最大子序和 392.判断子序列。原创 2024-08-18 10:25:39 · 316 阅读 · 0 评论 -
代码随想录day43 300.最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组
【代码】代码随想录day43 300.最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组。原创 2024-08-14 11:12:08 · 366 阅读 · 0 评论 -
代码随想录day42 188.买卖股票的最佳时机IV 309.最佳买卖股票时机含冷冻期 714.买卖股票的最佳时机含手续费
【代码】代码随想录day42 188.买卖股票的最佳时机IV 309.最佳买卖股票时机含冷冻期 714.买卖股票的最佳时机含手续费。原创 2024-08-13 10:54:15 · 133 阅读 · 0 评论 -
代码随想录day41 121. 买卖股票的最佳时机 122.买卖股票的最佳时机II 123.买卖股票的最佳时机III
【代码】代码随想录day41 121. 买卖股票的最佳时机 122.买卖股票的最佳时机II 123.买卖股票的最佳时机III。原创 2024-08-12 17:42:58 · 260 阅读 · 0 评论 -
代码随想录day39 198.打家劫舍 213.打家劫舍II 337.打家劫舍III
【代码】代码随想录day39 198.打家劫舍 213.打家劫舍II 337.打家劫舍III。原创 2024-08-12 15:24:09 · 408 阅读 · 0 评论 -
代码随想录day38 322. 零钱兑换 279.完全平方数 139.单词拆分 多重背包
【代码】代码随想录day38 322. 零钱兑换 279.完全平方数 139.单词拆分 多重背包。原创 2024-08-12 10:49:03 · 370 阅读 · 0 评论 -
代码随想录day37 完全背包 518. 零钱兑换 II 377. 组合总和 Ⅳ 70. 爬楼梯 (进阶)
【代码】代码随想录day37 完全背包 518. 零钱兑换 II 377. 组合总和 Ⅳ 70. 爬楼梯 (进阶)原创 2024-08-08 23:27:59 · 106 阅读 · 0 评论 -
代码随想录day36 1049. 最后一块石头的重量 II 494. 目标和 474.一和零
【代码】代码随想录day36 1049. 最后一块石头的重量 II 494. 目标和 474.一和零。原创 2024-08-07 17:46:09 · 207 阅读 · 0 评论 -
代码随想录day35 01背包问题 二维 01背包问题 一维 416. 分割等和子集
【代码】代码随想录day35 01背包问题 二维 01背包问题 一维 416. 分割等和子集。原创 2024-08-06 17:06:07 · 119 阅读 · 0 评论 -
代码随想录day34 62.不同路径 63. 不同路径 II 343. 整数拆分 96.不同的二叉搜索树
【代码】代码随想录day34 62.不同路径 63. 不同路径 II 343. 整数拆分 96.不同的二叉搜索树。原创 2024-08-04 14:02:46 · 177 阅读 · 0 评论 -
代码随想录day32 509. 斐波那契数 、70. 爬楼梯 、746. 使用最小花费爬楼梯
【代码】代码随想录day32 509. 斐波那契数 、70. 爬楼梯 、746. 使用最小花费爬楼梯。原创 2024-08-03 22:37:25 · 171 阅读 · 0 评论 -
代码随想录day31 56. 合并区间 738.单调递增的数字
【代码】代码随想录day31 56. 合并区间 738.单调递增的数字。原创 2024-08-03 19:26:23 · 125 阅读 · 0 评论 -
代码随想录day30 452. 用最少数量的箭引爆气球 、 435. 无重叠区间 、 763.划分字母区间
【代码】代码随想录day30 452. 用最少数量的箭引爆气球 、 435. 无重叠区间 、 763.划分字母区间。原创 2024-08-01 23:23:48 · 368 阅读 · 0 评论 -
代码随想录day29 134. 加油站 、135. 分发糖果 、 860.柠檬水找零 、406.根据身高重建队列
【代码】代码随想录day29 134. 加油站 、135. 分发糖果 、 860.柠檬水找零 、406.根据身高重建队列。原创 2024-07-31 23:04:20 · 312 阅读 · 0 评论 -
代码随想录day28 122.买卖股票的最佳时机 II 、 55. 跳跃游戏 、45.跳跃游戏 II
自己写的性能好像不太好。原创 2024-07-29 18:09:43 · 260 阅读 · 0 评论 -
代码随想录day27 455.分发饼干 、376. 摆动序列 、53. 最大子序和
【代码】代码随想录day27 455.分发饼干 、376. 摆动序列 、53. 最大子序和。原创 2024-07-29 00:49:25 · 414 阅读 · 0 评论 -
代码随想录day25 491.递增子序列 、 46.全排列 、47.全排列 II
卡哥是先排序,这样就可以利用i > 0 && nums[i] == nums[i - 1]来进行树层去重。树枝去重,这里是依据了元素不重复的特点,其实应该按照下标更好。还是子集问题,有了之前基础就不算难。同时进行了树枝去重和树层去重。原创 2024-07-27 12:29:10 · 416 阅读 · 0 评论 -
代码随想录day24 93.复原IP地址 、 78.子集 、90.子集II
好难,感觉得刷几遍才行。原创 2024-07-27 00:26:46 · 356 阅读 · 0 评论 -
代码随想录day23 39. 组合总和 、 40.组合总和II 、131.分割回文串
相比上题,其实就是多了部分单层需要跳到和左边值不一样的下标。居然自己写出来,需要注意的是重复组合的避免。原创 2024-07-26 00:47:56 · 125 阅读 · 0 评论 -
代码随想录day22 77. 组合 、 216.组合总和III 、 17.电话号码的字母组合
第一次接触组合,直观的感觉就是递归调用放在for循环里了,剪枝我比较喜欢k - path.size() <= n - i + 1,左边代表还需要多少个元素,右边表示还剩多少个元素,比较直观。这道题不难,自己也能写出来。原创 2024-07-24 23:28:03 · 269 阅读 · 0 评论 -
代码随想录day20 669. 修剪二叉搜索树 、108.将有序数组转换为二叉搜索树 、538.把二叉搜索树转换为累加树
我自己的思路是和前一道题一样,遇见一个不符合的就调用一次删掉该结点的函数,这样明显就麻烦了,其实只要小于左边界或大于右边界,就可以直接不要左子树或右子树,不必一个个比对。原创 2024-07-24 17:50:28 · 235 阅读 · 0 评论 -
代码随想录day19 235. 二叉搜索树的最近公共祖先 、701.二叉搜索树中的插入操作 、 450.删除二叉搜索树中的节点
这道题有点麻烦,我的问题主要出在同时拥有左右节点得策略,想返回右子树的最左结点,结果总是有点问题,不如卡哥的返回右节点的方法好。比较简单,自己可以写出。不算难,分类讨论即可。原创 2024-07-23 00:19:25 · 207 阅读 · 0 评论 -
代码随想录day18 530.二叉搜索树的最小绝对差 、 501.二叉搜索树中的众数 、 236. 二叉树的最近公共祖先
卡哥写的,卡哥是直接返回结点,一层一层向上返回存在得结点或者公告节点,如果没有返回nullptr,比我得简洁很多。基本思路就是统计频率,如果遇到新的最大频率就将结果集清零再加入,如果统计频率和之前相同,就直接加入结果集。自己写出来了,但是这个条件感觉理得有点混乱,找不到一个好的顺序。和昨天最后一题类似,秒了。原创 2024-07-21 11:52:46 · 283 阅读 · 0 评论 -
代码随想录day17 654.最大二叉树 、617.合并二叉树 、700.二叉搜索树中的搜索 、98.验证二叉搜索树
卡哥的递归法,递归我反而想不出来,原来是把前一个结点放到全局了,而且记录前一个结点,可以避免数值万一设置为比longlong最小值更小的问题。此题比昨天构造二叉树还要简单,思路一致。自己写出来了,思路就是中序是顺序的。原创 2024-07-20 00:04:48 · 214 阅读 · 0 评论 -
代码随想录day16 513.找树左下角的值 、112. 路径总和 、113. 路径总和Ⅱ 、 106.从中序与后序遍历序列构造二叉树
最后一题挺难的,其实就是模仿构造二叉树的顺序,我写的代码是根据左闭右闭的区间,注意确定根节点后找后序区间应该根据的是元素个数,我之前再根据根节点的右元素来确定后序区间,就会有问题。卡哥用的递归,学习到了遍历深度的方法,且只要先左后右,那么第一次遇到最深的结点一定是最深且最左的结点。看了下卡哥的视频,思路是一样的,但是卡哥是用传入的参数目标值减去当前值,感觉会简洁一些。我自己写出的是层序遍历,很快做出来。原创 2024-07-19 00:29:57 · 195 阅读 · 0 评论 -
代码随想录day15 110.平衡二叉树 、257. 二叉树的所有路径 、404.左叶子之和 、222.完全二叉树的节点个数
方法很巧,就是单层递归时判断个数时先判断是否为满二叉树,如果是就直接返回 2 ^ h - 1 ,注意右移表达为(1 << h) - 1,如果不是则再用左右子树递归和加一。这题对我比较困难的点是在于如何同时携带高度信息和是否是平衡二叉树的信息,卡哥则用了一个比较好的方法就是如果不是直接返回-1,则无需再求高度,以后可以借鉴这种想法。挺简单的,可以很快写出来。挺简单的,可以很快写出来。原创 2024-07-17 22:30:40 · 298 阅读 · 0 评论 -
代码随想录Day14 226.翻转二叉树 、101. 对称二叉树 、104.二叉树的最大深度 、111.二叉树的最小深度
【代码】代码随想录Day14 226.翻转二叉树 、101. 对称二叉树 、104.二叉树的最大深度 、111.二叉树的最小深度。原创 2024-07-16 23:55:17 · 145 阅读 · 0 评论 -
代码随想录 day13 递归遍历 、迭代遍历 、 统一迭代 、 层序遍历
比较简单,不赘述。原创 2024-07-16 00:23:24 · 180 阅读 · 0 评论 -
代码随想录day11 150. 逆波兰表达式求值 、 239. 滑动窗口最大值 、 347.前 K 个高频元素
这题是看卡哥视频的,但我不是很习惯pop的写法,因为我觉得pop就是单纯的弹出元素,而这里实际涉及了外界的下标,因为左下标-1元素值等于首元素,所以才觉得要弹出元素,属于和外界逻辑相关,而不是和队列本意相关,所以我就放到了函数体内,然后单调队列,其实就是对deque的入队作了限制,入队元素如果大于尾元素,则要不断弹出。想法和卡哥差不多都是用map统计然后放入优先队列进行排序,但我本来想的是用大顶堆,最后弹出两个频率最大的元素,但后来发现这复杂度是O(nlogn),所以不符合要求。原创 2024-07-13 20:04:27 · 267 阅读 · 0 评论 -
代码随想录day09 151.翻转字符串里的单词 、卡码网:55.右旋转字符串
这题我直接想到的是istringstream 和 stack 但不知道这样使用是不是违反了规定。看了卡哥的O(1)空间复杂度解法,写了下述代码。原创 2024-07-12 00:24:34 · 225 阅读 · 0 评论 -
代码随想录day08 344.反转字符串 541. 反转字符串II 卡码网:54.替换数字
卡哥的就简单多了 直接走2k个单位 看前面k个是否符合,但我感觉一些细节比如if i+k是小于等于还是小于size,i是小于size呢还是小于等于需要拿一些例子去考量。我自己的想法设置一个标志位flag,每步走k个单位,flag为true则代表走之前要反转,否则不需要。第一次感受acm模式,我的是定义了一个新的string,但卡哥重新resize了,性能要更好些。原创 2024-07-10 23:26:39 · 379 阅读 · 0 评论 -
代码随想录第7天 454 、 383 、15、18
其次会发现和越界[0,0,0,1000000000,1000000000,1000000000,1000000000],1000000000 + 1000000000 + 1000000000就会越界所以我才用了long long类型为和,或者只加前面三个,判断target-nums[right]思路就是先统计nums1和num2各个元素之和出现的次数,然后遍历num3和nums4各个元素之和,看其相反数是否在map中,若在加上出现次数。感觉和前面某题很类似,用map和数组都可以实现。原创 2024-07-08 08:51:41 · 467 阅读 · 0 评论