- 博客(59)
- 收藏
- 关注
原创 代码随想录训练营第七天|454.四数相加II 383. 赎金信 15. 三数之和 18. 四数之和
其实和上题原理相同,唯一的是需要注意去重和剪枝因为结果不是0了是target所以就需要判断[k]大于target的同时还有判断是否大于0如果则直接结束还要继续判断[k]和[k-1]是否相同(原理如上题)首先要先进行判断如果杂志的长度小于信封长度那么直接返回false之后直接。这里要注意一下是四数相加为0所以在umap.find(0-(c+d))题目链接/文章讲解/视频讲解:代码随想录。题目链接/文章讲解/视频讲解:代码随想录。题目链接/文章讲解/视频讲解:代码随想录。题目链接/文章讲解:代码随想录。
2024-10-17 22:31:46 432
原创 代码随想录算法训练营第六天|寻找存在的路径 242.有效的字母异位词 349. 两个数组的交集 202. 快乐数 1. 两数之和
其实知个题目主要是理解题目意思 19 是要分开1的平方再加上9的平方 =82 之后再8的平方加上2的平方等于68就这样持续下去,如果最后的结果是1那么就是开心数,但是要注意一种情况可能在写对面的时候会死循环就是出现重复的数的时候就会出现死循环,还有的难点就是要知道怎么分离数的每个位数。其实这个题知道map的用法的话就会好做,首先我们先判断target-nums[i]在不在map里面如果在则有俩数之和,如果没有那么就讲nums[i]和i插入到map里面,然后进行下一步的判断。349. 两个数组的交集。
2024-10-17 22:29:14 374
原创 代码随想录算法训练营第四天| 24. 两两交换链表中 19.删除链表的倒数第N个节点 的节点 面试题 02.07. 链表相交 142.环形链表II
双指针的操作,要注意,删除第N个节点,那么我们当前遍历的指针一定要指向 第N个节点的前一个节点,建议先看视频。本题链表操作就比较复杂了,建议大家先看视频,视频里我讲解了注意事项,为什么需要temp保存临时节点。算是链表比较有难度的题目,需要多花点时间理解 确定环和找环入口,建议先看视频。本题没有视频讲解,大家注意 数值相同,不代表指针相同。用虚拟头结点,这样会方便很多。19.删除链表的倒数第N个节点。面试题 02.07. 链表相交。24. 两两交换链表中的节点。142.环形链表II。
2024-09-28 20:58:24 321
原创 代码随想录算法训练营第三天| 203.移除链表元素 707.设计链表 206.反转链表
建议先看我的视频讲解,视频讲解中对 反转链表需要注意的点讲的很清晰了,看完之后大家的疑惑基本都解决了。建议: 这是一道考察 链表综合操作的题目,不算容易,可以练一练 使用虚拟头结点。建议: 本题最关键是要理解 虚拟头结点的使用技巧,这个对链表题目很重要。203.移除链表元素。
2024-09-27 21:31:11 227
原创 代码随想录算法训练营第二天| 209.长度最小的子数组 59.螺旋矩阵II 区间和 开发商购买土地
这个滑动窗口看文字讲解 还挺难理解的,建议大家先看视频讲解。拓展题目可以先不做。前缀和是一种思维巧妙很实用 而且 很有容易理解的一种算法思想,大家可以体会一下。: 本题关键还是在转圈的逻辑,在二分搜索中提到的区间定义,在这里又用上了。:希望大家 也做一个自己 对数组专题的总结。: 本题关键在于理解滑动窗口。209.长度最小的子数组。
2024-09-26 22:00:37 329
原创 代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素977.有序数组的平方
其实主要考虑什么是左闭右闭 以及什么是左闭右开比如说 假设 int nums[10],如果此时left =0 right =9 那么此时就是左闭右闭,如果此时left =0 right =10 那么此时就是左闭右开。视频讲解:手把手带你撕出正确的二分法 | 二分查找法 | 二分搜索法 | LeetCode:704. 二分查找_哔哩哔哩_bilibili首先代码如下。| LeetCode:27. 移除元素_哔哩哔哩_bilibili。题目链接:. - 力扣(LeetCode)文章讲解:代码随想录。
2024-09-25 21:02:03 345
原创 代码随想录算法训练营第五十五天 |总结篇
第一次过代码随想录收获良多,特别是图论和二叉树以及动态规划和回溯贪心这些章节每一道题都很经典且重要准备继续再刷一次。
2024-09-17 20:56:56 144
原创 代码随想录算法训练营第五十四天 Floyd 算法精讲 A * 算法精讲 (A star算法)
A * 算法精讲 (A star算法。Floyd 算法精讲。
2024-09-16 21:03:52 210
原创 代码随想录算法训练营第五十三天 |Bellman_ford 队列优化算法(又名SPFA)bellman_ford之判断负权回路bellman_ford之单源有限最短路
Bellman_ford 队列优化算法(又名SPFA)bellman_ford之单源有限最短路。bellman_ford之判断负权回路。
2024-09-14 21:26:05 243
原创 代码随想录算法训练营第五十二天 |dijkstra(堆优化版)精讲 Bellman_ford 算法精讲
dijkstra(堆优化版)精讲。Bellman_ford 算法精讲。
2024-09-13 20:54:17 273
原创 代码随想录算法训练营第五十一天 |拓扑排序精讲 dijkstra(朴素版)精讲
后面几天都是最短路系列了,对于最短路系列,我的建议是,如果第一次接触最短路算法的话,对于一刷的录友们,不要强行去逼迫自己去学透,很难刚接触到最短路算法就学透。,二刷的时候 再尝试自己去写出来。三刷的时候,差不多才能把最短路吃透。拓扑排序看上去很复杂,其实了解其原理之后,代码不难。能看懂原理,能照着代码随想录把代码抄下来就可以了。dijkstra(朴素版)精讲。
2024-09-12 20:21:56 259
原创 代码随想录算法训练营第四十七天|110.字符串接龙 105.有向图的完全可达性 106.岛屿的周长
经过上面的练习,大家可能会感觉 广搜不过如此,都刷出自信了,本题让大家初步感受一下,广搜难不在广搜本身,而是如何应用广搜。深搜有细节,同样是深搜两种写法的区别,以及什么时候需要回溯操作呢?简单题,避免大家惯性思维,建议大家先独立做题。
2024-09-07 22:23:27 181
原创 代码随想录算法训练营第四十六天|101. 孤岛的总面积 沉没孤岛103. 水流问题104.建造最大岛屿
需要点优化思路,建议先自己读题,相处一个解题方法,有时间就自己写代码,没时间就直接看题解,优化方式 会让你 耳目一新。同样优化思路也会让你耳目一新,自己想比较难想出来。基础题目 可以自己尝试做一做。和上一题差不多,尝试自己做做。104.建造最大岛屿。
2024-09-06 22:42:31 274
原创 代码随想录算法训练营第四十五天|99.岛屿数量 深搜 99.岛屿数量 广搜 100.岛屿的最大面积
【代码】代码随想录算法训练营第四十五天|99.岛屿数量 深搜 99.岛屿数量 广搜 100.岛屿的最大面积。
2024-09-05 20:32:22 185
原创 代码随想录算法训练营第四十三天| 42. 接雨水 84.柱状图中最大的矩形
【代码】代码随想录算法训练营第四十三天| 42. 接雨水 84.柱状图中最大的矩形。
2024-09-03 22:02:00 208
原创 代码随想录算法训练营第四十二天| 739. 每日温度 496.下一个更大元素 I 503.下一个更大元素II
503.下一个更大元素II。496.下一个更大元素。
2024-09-02 22:49:13 241
原创 代码随想录算法训练营第四十一天| 115.不同的子序列 583. 两个字符串的删除操作 72. 编辑距离
583. 两个字符串的删除操作。115.不同的子序列。
2024-08-31 22:39:12 259
原创 代码随想录算法训练营第三十九天|143.最长公共子序列 1035.不相交的线 53. 最大子序和 392.判断子序列
1143.最长公共子序列。1035.不相交的线。
2024-08-29 21:51:19 116
原创 代码随想录算法训练营第三十八天| 300.最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组
674. 最长连续递增序列。718. 最长重复子数组。300.最长递增子序列。
2024-08-28 16:15:37 238
原创 代码随想录算法训练营第三十七天| 188.买卖股票的最佳时机IV 309.最佳买卖股票时机含冷冻期 714.买卖股票的最佳时机含手续费
714.买卖股票的最佳时机含手续费。309.最佳买卖股票时机含冷冻期。188.买卖股票的最佳时机IV。
2024-08-27 16:05:00 241
原创 代码随想录算法训练营第三十六天| 121. 买卖股票的最佳时机 122.买卖股票的最佳时机II 123.买卖股票的最佳时机III
这道题一下子就难度上来了,关键在于至多买卖两次,这意味着可以买卖一次,可以买卖两次,也可以不买卖。123.买卖股票的最佳时机III。122.买卖股票的最佳时机II。121. 买卖股票的最佳时机。
2024-08-26 17:49:29 220
原创 代码随想录算法训练营第三十四天| 279.完全平方数 139.单词拆分 关于多重背包,你该了解这些!
本题 和 322. 零钱兑换 基本是一样的,大家先自己尝试做一做。关于多重背包,你该了解这些!
2024-08-23 16:49:48 228
原创 代码随想录算法训练营第三十三天| 完全背包 518. 零钱兑换 II 377. 组合总和 Ⅳ 70. 爬楼梯 (进阶)
视频讲解:https://programmercarl.com/%E8%83%8C%E5%8C%85%E9%97%AE%E9%A2%98%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80%E5%AE%8C%E5%85%A8%E8%83%8C%E5%8C%85.html其实就是用物品遍历背包,发现背包容量大于物品可以装下时就用判断是上一个dp【j】大还是将现在的物品装进去的大518. 零钱兑换 II 视频讲解:https://programmercarl.com/051
2024-08-22 22:22:40 176
原创 代码随想录算法训练营第三十一天| 01背包问题 二维 01背包问题 一维 416. 分割等和子集
本题是 01背包的应用类题目。416. 分割等和子集。
2024-08-20 22:20:45 274
原创 代码随想录算法训练营第三十天| 62.不同路径 63. 不同路径 II 96..不同的二叉搜索树 整数拆分
这个就是要找规律首先要知道dp【i】代表了从1到i可以有多少个搜索树其实就可以知道dp【0】和dp【1】为1dp【2】就需要想想1为根节点还是2为根节点,所以为2,到了dp【3】就需要想1为根节点时就是左边0个节点的情况乘以右边俩个节点的情况。注意这里说是要分成至少两个正整数的和其实俩个就行比如说10是3+3+4 我们直接弄成6+4就行其实原理是一样的dp【i】就是和上一个dp【i】比较。其实就是单纯的(i-j)*j多少dp【i-j】*j就是dp【i-j】分拆数字i-j,可以得到的最大乘积为dp[i-j]
2024-08-19 17:24:53 460
原创 代码随想录算法训练营第二十七天|452. 用最少数量的箭引爆气球 435. 无重叠区间 763.划分字母区间
452. 用最少数量的箭引爆气球首先将按照【i】【0】从小排到大,排完大小之后遍历数组,发现这两个气球相交,就将【i】【1】等于【i-1】【1】和【i】【1】作比较哪个做小取哪个,反之则result++435. 无重叠区间。
2024-08-15 20:50:50 179
原创 代码随想录算法训练营第二十五天| 122.买卖股票的最佳时机II 55. 跳跃游戏 45.跳跃游戏II 1005.K次取反后最大化的数组和
122.买卖股票的最佳时机II。
2024-08-13 21:56:45 258
原创 代码随想录算法训练营第二十三天|491.递增子序列 46.全排列 47.全排列 II
首先这道题不可以用sort 所以,首先我们要排队当前的path的大小大不大于1,如果大于则保存反之就建立used数组之后进入for循环判断当前元素大不大于当前path数组最后一个元素的大小,如果小于,并且path不为空就跳过这一层循环或者当前的used数组的值=1代表已经使用过所以也跳过,如果没有则将当前元素入数组并且对应的used数组赋值之后进行下一层递归。
2024-08-10 15:31:06 167
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人