随想录

[代码随想录]Day36-动态规划part04

## 题目: ### 思路: 只有确定了如下四点,才能把01背包问题套到本题上来。 - 背包的体积为sum / 2 - 背包要放入的商品(集合里的元素)重量为 元素的数值,价值也为元素的数值 - 背包如果正好装满,说明找到了总和为 sum / 2 的子集。 - 背包中每一个元素是不可重复放入。 ## ......
随想录 随想 代码 动态 part

[代码随想录]Day35-动态规划part03

## 题目:[343. 整数拆分](https://leetcode.cn/problems/integer-break/ "343. 整数拆分") ### 思路: 状态转移方程:`dp[i] = max(dp[i], max((i-j)*j,dp[i-j]*j))`,其中`(i-j)*j`是把i分 ......
随想录 随想 代码 动态 part

代码随想录算法训练营第三十天| 51. N皇后 37. 解数独 总结

卡哥建议:今天这三道题都非常难,那么这么难的题,为啥一天做三道? 因为 一刷 也不求大家能把这么难的问题解决,所以 大家一刷的时候,就了解一下题目的要求,了解一下解题思路,不求能直接写出代码,先大概熟悉一下这些题,二刷的时候,随着对回溯算法的深入理解,再去解决如下三题。 大家今天的任务,其实是 对回 ......
解数 随想录 训练营 随想 皇后

代码随想录算法训练营第二十九天| 491.递增子序列 46.全排列 47.全排列 II

491.递增子序列 卡哥建议:本题和大家刚做过的 90.子集II 非常像,但又很不一样,很容易掉坑里。 https://programmercarl.com/0491.%E9%80%92%E5%A2%9E%E5%AD%90%E5%BA%8F%E5%88%97.html 视频讲解:https://ww ......
随想录 训练营 九天 序列 随想

代码随想录刷题记录——链表

链表相关题目 2023-09-01 707.设计链表-leetcode 题目链接 题目: 关键点: 定义成员变量: private: int _size; Node *_dummyHead; 定义链表节点结构体和构造函数: //定义链表节点结构体 struct Node { int val; Nod ......
随想录 随想 代码

代码随想录算法训练营第二十八天| 93.复原IP地址 78.子集 90.子集II

93.复原IP地址 卡哥建议:本期本来是很有难度的,不过 大家做完 分割回文串 之后,本题就容易很多了 题目链接/文章讲解:https://programmercarl.com/0093.%E5%A4%8D%E5%8E%9FIP%E5%9C%B0%E5%9D%80.html 视频讲解:https:/ ......
子集 随想录 训练营 随想 算法

代码随想录算法训练营第二十七天| 39. 组合总和 40.组合总和II 131.分割回文串

39. 组合总和 卡哥建议:本题是 集合里元素可以用无数次,那么和组合问题的差别 其实仅在于 startIndex上的控制 题目链接/文章讲解:https://programmercarl.com/0039.%E7%BB%84%E5%90%88%E6%80%BB%E5%92%8C.html 视频讲解 ......
总和 随想录 回文 训练营 随想

代码随想录算法训练营第二十五天| 216.组合总和III 17.电话号码的字母组合

216.组合总和III 卡哥建议:如果把 组合问题理解了,本题就容易一些了。 题目链接/文章讲解:https://programmercarl.com/0216.%E7%BB%84%E5%90%88%E6%80%BB%E5%92%8CIII.html 视频讲解:https://www.bilibil ......
随想录 训练营 总和 随想 算法

[代码随想录]Day34-动态规划part02

## 题目:[62. 不同路径](https://leetcode.cn/problems/unique-paths/) ### 思路: **首先想到的是数论方法组合数其实就是向右和向下的步数是固定的,就找一个组合的个数就可以了。** 状态转移方程:一个位置的路径数就是,上面位置和左面位置路径数的和 ......
随想录 随想 代码 动态 part

代码随想录——数组篇

#二分查找 [题目链接](https://leetcode.cn/problems/binary-search/ "题目链接") 注意:求均值防溢出,left+(right-left)/2等价于(left + right)/2。 ![image](https://img2023.cnblogs.co ......
随想录 数组 随想 代码

[代码随想录]Day33-动态规划part01

## 题目:[509. 斐波那契数](https://leetcode.cn/problems/fibonacci-number/) ### 思路: 动规五部曲: 这里我们要用一个一维dp数组来保存递归的结果 1. **确定dp数组以及下标的含义** dp[i]的定义为:第i个数的斐波那契数值是dp ......
随想录 随想 代码 动态 part

[6]-代码随想录算法训练营-dat7-哈希表-part2

## 代码随想录算法训练营第七天|哈希表-part2 ### 1. LeetCode [454. 四数相加 II](https://leetcode.cn/problems/4sum-ii/) > 1. 题目 > > - https://leetcode.cn/problems/4sum-ii/su ......
随想录 训练营 随想 算法 代码

[代码随想录]Day32-贪心算法part06

## 题目:[738. 单调递增的数字](https://leetcode.cn/problems/monotone-increasing-digits/) ### 思路: 从前往后找的话,如果改了一个数,那么对这个数之前的判断就不一定会成立了(eg.110) 从后往前找的话,会不断更新前面的数,后 ......
随想录 随想 算法 代码 part

[代码随想录]Day31-贪心算法part05

## 题目:[435. 无重叠区间](https://leetcode.cn/problems/non-overlapping-intervals/) ### 思路: 移除最少就是保留最多,和昨天最后一个题一样就是选出最多的不重叠区间。 记住一点——右边界越小,后续可以选取的范围就越大,可能选取到的 ......
随想录 随想 算法 代码 part

[5]-代码随想录算法训练营-day6-哈希-part1

## 代码随想录算法训练营第六天|哈希表-part1 ### 1.Leecode 242.有效的字母异味词 > 1. 题目 > > - https://leetcode.cn/problems/valid-anagram/ > > 2. 思路 > > - 长26数组,下标0表示'a',25表示'z' ......
随想录 训练营 随想 算法 代码

[4]-代码随想录算法训练营-day4-链表-part2

## 代码随想录算法训练营第四天|链表-part2 ### 1.Leecode 24.两两交换链表中的节点 > 1. 题目 > > - https://leetcode.cn/problems/swap-nodes-in-pairs/ > > 2. 思路 > > - 虚拟头节点 > - `tmp`变 ......
随想录 训练营 随想 算法 代码

[2]-代码随想录算法训练营-day2-数组-part2

## 代码随想录算法训练营第二天|数组-part2 ### 1.LeetCode 997.有序数组的平方 > 1. 题目 > > - https://leetcode.cn/problems/squares-of-a-sorted-array/ > > 2. 思路 > > - 先给原始数组每个数进行 ......
随想录 训练营 数组 随想 算法

[3]-代码随想录算法训练营-day3-链表-part1

## 代码随想录算法训练营第二天|链表 part1 ### 1.LeetCode 203.移除链表元素 > 1. 题目 > > - https://leetcode.cn/problems/remove-linked-list-elements/ > > 2. 思路 > > - 遍历,删 > - 两 ......
随想录 训练营 随想 算法 代码

[1]-代码随想录算法训练营-day1-数组-part1

## 代码随想录算法训练营第一天|数组-part1 ### 1.Leecode 704.二分查找 > 1. 题目 > > - https://leetcode.cn/problems/binary-search/ > > 2. 思路 > > - 二分查找法 > > 3. 刷随想录后想法 > > - ......
随想录 训练营 数组 随想 算法

[代码随想录]Day30-贪心算法part04

## 题目:[860. 柠檬水找零](https://leetcode.cn/problems/lemonade-change/) ### 思路: 收到钱三种情况: 1. 5刀:直接收起来就可以了,不需要找钱 2. 10刀:收到10刀,需要找5刀,如果没有5刀,就返回false,否则5刀-1 3. ......
随想录 随想 算法 代码 part

代码随想录第6天|242.有效的字母异位词;349.两个数组的交集;202.快乐数;1.两数之和;

unordered_map<int,int> map; unordered_set<int> result; vector<vector<int>> res(n,vector<int>(n,0));声明了长度为n*n的二维数组 在C++中,auto 是一个关键字,用于实现类型推导,使编译器能够根据变 ......
随想录 之和 数组 交集 随想

[代码随想录]Day29-贪心算法part03

## 题目:[1005.K次取反后最大化的数组和](https://leetcode.cn/problems/maximize-sum-of-array-after-k-negations/) ### 思路: 思路是: 1. 先把负数从小到大变成正数(即绝对值由大到小) 2. 如果还需要变化(k>0 ......
随想录 随想 算法 代码 part

[代码随想录]Day28-贪心算法part02

## 题目:[122. 买卖股票的最佳时机 II](https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-ii/) ### 思路: 假如第 0 天买入,第 3 天卖出,那么利润为:prices[3] - prices[0]。 相当于 ......
随想录 随想 算法 代码 part

代码随想录第4天|链表复习

做这种算法题真的要放平心态,你想不到思路的时候不要觉得自己太笨,其实想不到很正常,今天环形链表和相交链表这两道题,真的一点思路都没有,环形链表是最难理解的,在课堂上学的链表上的那点东西拿来做这种题确实还是差很多,我真的非常感谢这个做题的训练营,没有它我自己真的做不下去,现在跟着一步一步来,不急于求成 ......
随想录 随想 代码

代码随想录算法训练营第二十四天| 理论基础 77. 组合

理论基础 卡哥建议:其实在讲解二叉树的时候,就给大家介绍过回溯,这次正式开启回溯算法,大家可以先看视频,对回溯算法有一个整体的了解。 题目链接/文章讲解:https://programmercarl.com/%E5%9B%9E%E6%BA%AF%E7%AE%97%E6%B3%95%E7%90%86% ......
随想录 训练营 随想 算法 理论

代码随想录算法训练营第二十三天| 669. 修剪二叉搜索树 108.将有序数组转换为二叉搜索树 538.把二叉搜索树转换为累加树 总结

669. 修剪二叉搜索树 卡哥建议:这道题目比较难,比 添加增加和删除节点难的多,建议先看视频理解。 题目链接/文章讲解:https://programmercarl.com/0669.%E4%BF%AE%E5%89%AA%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6 ......
随想录 训练营 数组 随想 算法

代码随想录算法训练营第二十二天| 235. 二叉搜索树的最近公共祖先 701.二叉搜索树中的插入操作 450.删除二叉搜索树中的节点

235. 二叉搜索树的最近公共祖先 卡哥建议:相对于 二叉树的最近公共祖先 本题就简单一些了,因为 可以利用二叉搜索树的特性。 题目链接/文章讲解:https://programmercarl.com/0235.%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%9 ......
随想录 训练营 节点 祖先 随想

代码随想录第三天|203.移除列表元素;707.设计链表;206.反转链表

今天最大的收获不是学会了几道题,而是突然改变了自己之前的想法,总想刷一遍就能把题弄回,这样在遇到难题时会拖延很长的时间,备受挫折,做一两道题就再也不想做了,刷题也就终止了 应该做好刷三遍题的准备,第一遍,大量看题,看解题思路,在看题的过程中积累知识和解题技巧,不要迷恋在某一道题上,看个几百题就能把所 ......
随想录 随想 元素 代码 203

[代码随想录]Day27-贪心算法part01

## 题目:[455. 分发饼干](https://leetcode.cn/problems/assign-cookies/ "455. 分发饼干") ### 思路: 贪心,思路是尽量先给胃口值小的分,饼干也是从小的开始分: 1. 如果饼干满足了胃口值,结果+1换下一个人,下一个饼干 2. 如果饼干 ......
随想录 随想 算法 代码 part

代码随想录第二天|977.有序数组的平方;209.长度最小的子数组;59.螺旋矩阵II,总结

今天的这三道题每道题对我来说都不简单,有序数组的平方和长度最小的子数组这两道题还能用暴力求解,螺旋矩阵看着简单却没有思路,磨了半小时还是决定直接看讲解 有序数组平方和用的双指针的思想,代码如下: 1 class Solution { 2 public: 3 vector<int> sortedSqu ......
数组 随想录 矩阵 螺旋 随想