随想录

代码随想录算法训练营第32天 | ● 122.买卖股票的最佳时机II ● 55. 跳跃游戏 ● 45.跳跃游戏II - 第8章 回溯算法part02

第八章 贪心算法 part02 ● 122.买卖股票的最佳时机II ● 55. 跳跃游戏 ● 45.跳跃游戏II 详细布置 122.买卖股票的最佳时机II 本题解法很巧妙,大家可以看题思考一下,在看题解。 https://programmercarl.com/0122.%E4%B9%B0%E5%8D ......
算法 随想录 训练营 随想 时机

代码随想录算法训练营第35天 | ● 860.柠檬水找零 ● 406.根据身高重建队列 ● 452. 用最少数量的箭引爆气球 - 第8章 回溯算法part04

第八章 贪心算法 part04 ● 860.柠檬水找零 ● 406.根据身高重建队列 ● 452. 用最少数量的箭引爆气球 详细布置 860.柠檬水找零 本题看上好像挺难,其实挺简单的,大家先尝试自己做一做。 https://programmercarl.com/0860.%E6%9F%A0%E6% ......
算法 随想录 柠檬水 队列 训练营

代码随想录算法训练营第34天 | ● 1005.K次取反后最大化的数组和 ● 134. 加油站 ● 135. 分发糖果 - 第8章 回溯算法part03

第八章 贪心算法 part03 ● 1005.K次取反后最大化的数组和 ● 134. 加油站 ● 135. 分发糖果 详细布置 1005.K次取反后最大化的数组和 本题简单一些,估计大家不用想着贪心 ,用自己直觉也会有思路。 https://programmercarl.com/1005.K%E6% ......
算法 随想录 训练营 数组 随想

代码随想录算法训练营第30天 | ● 332.重新安排行程 ● 51. N皇后 ● 37. 解数独 ● 总结 - 第7章 回溯算法part06

第七章 回溯算法part06 ● 332.重新安排行程 ● 51. N皇后 ● 37. 解数独 ● 总结 详细布置 今天这三道题都非常难,那么这么难的题,为啥一天做三道? 因为 一刷 也不求大家能把这么难的问题解决,所以 大家一刷的时候,就了解一下题目的要求,了解一下解题思路,不求能直接写出代码,先 ......
算法 解数 随想录 训练营 随想

代码随想录算法训练营第31天 | ● 理论基础 ● 455.分发饼干 ● 376. 摆动序列 ● 53. 最大子序和 - 第7章 回溯算法part01

第八章 贪心算法 part01 ● 理论基础 ● 455.分发饼干 ● 376. 摆动序列 ● 53. 最大子序和 贪心算法其实就是没有什么规律可言,所以大家了解贪心算法 就了解它没有规律的本质就够了。 不用花心思去研究其规律, 没有思路就立刻看题解。 基本贪心的题目 有两个极端,要不就是特简单,要 ......
算法 随想录 训练营 序列 饼干

代码随想录算法训练营第27天 | ● 93.复原IP地址 ● 78.子集 ● 90.子集II - 第7章 回溯算法part04

28 第七章 回溯算法 ● 93.复原IP地址 ● 78.子集 ● 90.子集II 详细布置 93.复原IP地址 本期本来是很有难度的,不过 大家做完 分割回文串 之后,本题就容易很多了 题目链接/文章讲解:https://programmercarl.com/0093.%E5%A4%8D%E5%8 ......
子集 算法 随想录 训练营 随想

代码随想录算法训练营第26天 | ● 39. 组合总和 ● 40.组合总和II ● 131.分割回文串 - 第7章 回溯算法part03

第七章 回溯算法part03 ● 39. 组合总和 ● 40.组合总和II ● 131.分割回文串 详细布置 39. 组合总和 本题是 集合里元素可以用无数次,那么和组合问题的差别 其实仅在于 startIndex上的控制 题目链接/文章讲解:https://programmercarl.com/0 ......
总和 算法 随想录 回文 训练营

代码随想录算法训练营第28天 | * 491.递增子序列 * 46.全排列 * 47.全排列 II - 第7章 回溯算法part05

第七章 回溯算法part05 * 491.递增子序列 * 46.全排列 * 47.全排列 II 详细布置 491.递增子序列 本题和大家刚做过的 90.子集II 非常像,但又很不一样,很容易掉坑里。 https://programmercarl.com/0491.%E9%80%92%E5%A2%9E ......
算法 随想录 训练营 序列 随想

代码随想录算法训练营第24天 | ● 理论基础 ● 77. 组合 - 第7章 回溯算法part01

第七章 回溯算法part01 今日内容: ● 理论基础 ● 77. 组合 详细布置 理论基础 其实在讲解二叉树的时候,就给大家介绍过回溯,这次正式开启回溯算法,大家可以先看视频,对回溯算法有一个整体的了解。 题目链接/文章讲解:https://programmercarl.com/%E5%9B%9E ......
算法 随想录 训练营 随想 理论

代码随想录算法训练营第25天 | ● 216.组合总和III ● 17.电话号码的字母组合 - 第7章 回溯算法part02

第七章 回溯算法part02 今日内容: ● 216.组合总和III ● 17.电话号码的字母组合 详细布置 216.组合总和III 如果把 组合问题理解了,本题就容易一些了。 题目链接/文章讲解:https://programmercarl.com/0216.%E7%BB%84%E5%90%88% ......
算法 随想录 训练营 总和 随想

代码随想录算法训练营第五天| 242.有效的字母异位词 , 349. 两个数组的交集 , 202. 快乐数 , 1. 两数之和

242.有效的字母异位词 繁冗版: 1,思路: 先建立两个map,对应两个字符串对应的字符,同时对他们进行计数,如果这两个数字相等,那么就是相等 2,代码 1 bool isAnagram_complicate(string s, string t) 2 { 3 unordered_map<char ......
随想录 之和 训练营 数组 交集

代码随想录day06

第三章 哈希表part01 242.有效的字母异位词 349. 两个数组的交集 202. 快乐数 1. 两数之和 当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法。 242.有效的字母异位词 注意点:字符串长度表示方法 s.length()要带括号 字符串取字符 s.charAt( ......
随想录 随想 代码 day 06

代码随想录day04

第二章 链表part02 24. 两两交换链表中的节点 19.删除链表的倒数第N个节点 面试题 02.07. 链表相交 142.环形链表II 24. 两两交换链表中的节点 虚拟头节点 /** * Definition for singly-linked list. * public class Li ......
随想录 随想 代码 day 04

代码随想录算法训练营第四天|24. 两两交换链表中的节点 , 19.删除链表的倒数第N个节点 , 面试题 02.07. 链表相交 , 142.环形链表II

24. 两两交换链表中的节点 个人感觉这个不太难,刚开始打算用步进值为2,来搞,但是没有想到链表应该是怎么样的,原来可以直接用: 1 cur = cur->next->next 学到了,这是我自己写的代码: 1 ListNode* MyLinkedList::swapPairs(ListNode* ......
节点 随想录 环形 训练营 随想

代码随想录算法训练营第三天| 203.移除链表元素 、 707.设计链表 、206.反转链表

链表的构造: link.h: 1 #ifndef LINK_H 2 #define LINK_H 3 #include<vector> 4 5 struct ListNode { 6 int val; 7 ListNode* next; 8 ListNode() :val(0), next(null ......
随想录 训练营 随想 算法 元素

代码随想录day03

第二章 链表part01 链表理论基础,203.移除链表元素,707.设计链表,206.反转链表 203.移除链表元素 虚拟头结点 /** * Definition for singly-linked list. * public class ListNode { * int val; * List ......
随想录 随想 代码 day 03

代码随想录算法训练营第二天| 977.有序数组的平方 、 209.长度最小的子数组、59.螺旋矩阵II

977.有序数组的平方 1,因为是有序数组,所以会导致,两边大,中间小 2,又因为要排序所以可以仿照这个特点 3,从首尾两端,进行排序 代码: 1 //平方之后,列顺序 从低到高 2 vector<int> sortedSquares(vector<int>& nums) 3 { 4 vector< ......
数组 随想录 训练营 矩阵 螺旋

代码随想录day02

第一章 数组part02 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II 977.有序数组的平方 双指针法,平方数组为两边大中间小。 209.长度最小的子数组 第一想法暴力两个for循环。 学习双指针的滑动窗口法。 59.螺旋矩阵II 坚持循环不变量原则,左闭右开。 这道题 ......
随想录 随想 代码 day 02

代码随想录day01

第一章 数组part01 数组理论基础,704. 二分查找,27. 移除元素 704.二分查找 https://leetcode.cn/problems/binary-search/description/ 习惯了左闭右闭,终止条件带'='号。 27.移除元素 https://leetcode.cn ......
随想录 随想 代码 day 01

代码随想录Day19|二叉树(六)

今日任务 654.最大二叉树 617.合并二叉树 700.二叉搜索树中的搜索 98.验证二叉搜索树 654.最大二叉树 当不确定一个新的解决方案是否正确的时候 请优先使用暴力解的方式 /** * Definition for a binary tree node. * public class Tr ......
随想录 随想 代码 Day 19

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

【参考链接】 93. 复原 IP 地址 【注意】 1.切割问题就可以使用回溯搜索法把所有可能性搜出来。 2.startIndex一定是需要的,因为不能重复分割,记录下一层递归分割的起始位置。 3.本题我们还需要一个变量pointNum,记录添加逗点的数量。 4.分割的段数作为终止条件。pointNu ......
随想录 训练营 随想 算法 代码

代码随想录Day17|二叉树(五)

今日任务 513.找树左下角的值 112. 路径总和 113.路径总和ii 106.从中序与后序遍历序列构造二叉树 105.从前序与中序遍历序列构造二叉树 100.相同的树 572.另一个树的子树 513.找树左下角的值 层序遍历 /** * Definition for a binary tree ......
随想录 随想 代码 Day 17

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

【参考链接】 39. 组合总和 【注意】 1.candidates 中的数字可以无限制重复被选取。 2.在for循环中进行剪枝。剪枝前需要对数组进行排序。 【代码】 1 class Solution(object): 2 def __init__(self): 3 self.path = [] 4 ......
总和 随想录 回文 训练营 随想

代码随想录day16| 二叉树(四)

110.平衡二叉树 递归法 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeN ......
随想录 随想 代码 day 16

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

【参考连接】 216. 组合总和 III 【注意】 1.组合不强调元素之间的顺序。 【代码】 1 class Solution(object): 2 def __init__(self): 3 self.res = [] 4 self.sum_now = 0 5 self.path = [] 6 d ......
随想录 训练营 总和 随想 算法

代码随想录Day15|二叉树III

104.二叉树的最大深度 递归法 本题可以使用前序(中左右),也可以使用后序遍历(左右中),使用前序求的就是深度,使用后序求的是高度。 二叉树节点的深度:指从根节点到该节点的最长简单路径边的条数或者节点数(取决于深度从0开始还是从1开始) 二叉树节点的高度:指从该节点到叶子节点的最长简单路径边的条数 ......
随想录 随想 代码 Day III

代码随想录Day15|二叉树

二叉树层序遍历登场 层序遍历方式就是图论中的广度优先遍历,只不过我们应用在二叉树上。 果然看java还是很不爽,C++和python的代码简洁明了 public List<List<Integer>> resList = new ArrayList<List<Integer>>(); //DFS-- ......
随想录 随想 代码 Day 15

代码随想录算法训练营第二十三天|669. 修剪二叉搜索树

[参考链接] 669. 修剪二叉搜索树 [代码] 1 # Definition for a binary tree node. 2 # class TreeNode(object): 3 # def __init__(self, val=0, left=None, right=None): 4 # ......
随想录 训练营 随想 算法 代码

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

[参考链接] 235. 二叉搜索树的最近公共祖先 [注意] 1.因为是有序树,所以如果中间节点是 q 和 p 的公共祖先,那么中间节点的数组 一定是在[p, q]区间的。即中节点 > p && 中节点 < q 或者 中节点 > q && 中节点 < p。 2.那么只要从上到下去遍历,遇到 cur节点 ......
随想录 训练营 祖先 随想 算法

代码随想录Day14|二叉树

基本理论 https://programmercarl.com/二叉树理论基础.html#二叉树的种类 满二叉树:如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树。 完全二叉树:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并 ......
随想录 随想 代码 Day 14