From 39fbb593466ce11be6e8d258205d6d8a5b177500 Mon Sep 17 00:00:00 2001 From: youngyangyang04 <826123027@qq.com> Date: Sun, 21 Nov 2021 16:19:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=A4=B4=E9=83=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- problems/0001.两数之和.md | 10 ++++------ problems/0005.最长回文子串.md | 10 ++++------ problems/0015.三数之和.md | 10 ++++------ problems/0017.电话号码的字母组合.md | 10 ++++------ problems/0018.四数之和.md | 10 ++++------ problems/0019.删除链表的倒数第N个节点.md | 10 ++++------ problems/0020.有效的括号.md | 10 ++++------ problems/0024.两两交换链表中的节点.md | 10 ++++------ problems/0027.移除元素.md | 10 ++++------ problems/0028.实现strStr.md | 10 ++++------ problems/0031.下一个排列.md | 10 ++++------ ...查找元素的第一个和最后一个位置.md | 10 ++++------ problems/0035.搜索插入位置.md | 10 ++++------ problems/0037.解数独.md | 10 ++++------ problems/0039.组合总和.md | 10 ++++------ problems/0040.组合总和II.md | 10 ++++------ problems/0042.接雨水.md | 10 ++++------ problems/0045.跳跃游戏II.md | 10 ++++------ problems/0046.全排列.md | 10 ++++------ problems/0047.全排列II.md | 10 ++++------ problems/0051.N皇后.md | 10 ++++------ problems/0052.N皇后II.md | 10 ++++------ problems/0053.最大子序和.md | 10 ++++------ problems/0053.最大子序和(动态规划).md | 10 ++++------ problems/0055.跳跃游戏.md | 10 ++++------ problems/0056.合并区间.md | 10 ++++------ problems/0059.螺旋矩阵II.md | 10 ++++------ problems/0062.不同路径.md | 10 ++++------ problems/0063.不同路径II.md | 10 ++++------ problems/0070.爬楼梯.md | 10 ++++------ problems/0070.爬楼梯完全背包版本.md | 10 ++++------ problems/0072.编辑距离.md | 10 ++++------ problems/0077.组合.md | 10 ++++------ problems/0077.组合优化.md | 10 ++++------ problems/0078.子集.md | 10 ++++------ problems/0084.柱状图中最大的矩形.md | 10 ++++------ problems/0090.子集II.md | 10 ++++------ problems/0093.复原IP地址.md | 10 ++++------ problems/0096.不同的二叉搜索树.md | 10 ++++------ problems/0098.验证二叉搜索树.md | 10 ++++------ problems/0100.相同的树.md | 10 ++++------ problems/0101.对称二叉树.md | 10 ++++------ problems/0102.二叉树的层序遍历.md | 10 ++++------ problems/0104.二叉树的最大深度.md | 10 ++++------ ....从中序与后序遍历序列构造二叉树.md | 10 ++++------ .../0108.将有序数组转换为二叉搜索树.md | 10 ++++------ problems/0110.平衡二叉树.md | 10 ++++------ problems/0111.二叉树的最小深度.md | 10 ++++------ problems/0112.路径总和.md | 10 ++++------ problems/0115.不同的子序列.md | 10 ++++------ ...充每个节点的下一个右侧节点指针.md | 10 ++++------ problems/0121.买卖股票的最佳时机.md | 10 ++++------ problems/0122.买卖股票的最佳时机II.md | 10 ++++------ ...卖股票的最佳时机II(动态规划).md | 10 ++++------ problems/0123.买卖股票的最佳时机III.md | 10 ++++------ problems/0127.单词接龙.md | 10 ++++------ problems/0129.求根到叶子节点数字之和.md | 10 ++++------ problems/0131.分割回文串.md | 10 ++++------ problems/0132.分割回文串II.md | 10 ++++------ problems/0134.加油站.md | 10 ++++------ problems/0135.分发糖果.md | 10 ++++------ problems/0139.单词拆分.md | 10 ++++------ problems/0141.环形链表.md | 10 ++++------ problems/0142.环形链表II.md | 10 ++++------ problems/0143.重排链表.md | 10 ++++------ problems/0150.逆波兰表达式求值.md | 10 ++++------ problems/0151.翻转字符串里的单词.md | 10 ++++------ problems/0160.相交链表.md | 12 +++++------- problems/0188.买卖股票的最佳时机IV.md | 10 ++++------ problems/0189.旋转数组.md | 10 ++++------ problems/0198.打家劫舍.md | 10 ++++------ problems/0202.快乐数.md | 10 ++++------ problems/0203.移除链表元素.md | 10 ++++------ problems/0205.同构字符串.md | 10 ++++------ problems/0206.翻转链表.md | 10 ++++------ problems/0209.长度最小的子数组.md | 10 ++++------ problems/0213.打家劫舍II.md | 10 ++++------ problems/0216.组合总和III.md | 10 ++++------ problems/0222.完全二叉树的节点个数.md | 10 ++++------ problems/0225.用队列实现栈.md | 10 ++++------ problems/0226.翻转二叉树.md | 10 ++++------ problems/0232.用栈实现队列.md | 10 ++++------ problems/0234.回文链表.md | 10 ++++------ .../0235.二叉搜索树的最近公共祖先.md | 10 ++++------ problems/0236.二叉树的最近公共祖先.md | 10 ++++------ problems/0239.滑动窗口最大值.md | 10 ++++------ problems/0242.有效的字母异位词.md | 10 ++++------ problems/0257.二叉树的所有路径.md | 10 ++++------ problems/0279.完全平方数.md | 10 ++++------ problems/0283.移动零.md | 10 ++++------ problems/0300.最长上升子序列.md | 10 ++++------ .../0309.最佳买卖股票时机含冷冻期.md | 10 ++++------ problems/0322.零钱兑换.md | 10 ++++------ problems/0332.重新安排行程.md | 10 ++++------ problems/0337.打家劫舍III.md | 10 ++++------ problems/0343.整数拆分.md | 10 ++++------ problems/0344.反转字符串.md | 10 ++++------ problems/0347.前K个高频元素.md | 10 ++++------ problems/0349.两个数组的交集.md | 10 ++++------ problems/0376.摆动序列.md | 10 ++++------ problems/0377.组合总和Ⅳ.md | 10 ++++------ problems/0383.赎金信.md | 10 ++++------ problems/0392.判断子序列.md | 10 ++++------ problems/0404.左叶子之和.md | 10 ++++------ problems/0406.根据身高重建队列.md | 10 ++++------ problems/0416.分割等和子集.md | 10 ++++------ problems/0435.无重叠区间.md | 10 ++++------ problems/0450.删除二叉搜索树中的节点.md | 10 ++++------ problems/0452.用最少数量的箭引爆气球.md | 10 ++++------ problems/0454.四数相加II.md | 10 ++++------ problems/0455.分发饼干.md | 10 ++++------ problems/0459.重复的子字符串.md | 10 ++++------ problems/0463.岛屿的周长.md | 10 ++++------ problems/0474.一和零.md | 10 ++++------ problems/0491.递增子序列.md | 10 ++++------ problems/0494.目标和.md | 10 ++++------ problems/0496.下一个更大元素I.md | 10 ++++------ problems/0501.二叉搜索树中的众数.md | 10 ++++------ problems/0503.下一个更大元素II.md | 10 ++++------ problems/0509.斐波那契数.md | 10 ++++------ problems/0513.找树左下角的值.md | 10 ++++------ problems/0516.最长回文子序列.md | 10 ++++------ problems/0518.零钱兑换II.md | 10 ++++------ problems/0530.二叉搜索树的最小绝对差.md | 10 ++++------ .../0538.把二叉搜索树转换为累加树.md | 10 ++++------ problems/0541.反转字符串II.md | 10 ++++------ problems/0583.两个字符串的删除操作.md | 10 ++++------ problems/0617.合并二叉树.md | 10 ++++------ problems/0647.回文子串.md | 10 ++++------ problems/0649.Dota2参议院.md | 10 ++++------ problems/0654.最大二叉树.md | 10 ++++------ problems/0657.机器人能否返回原点.md | 10 ++++------ problems/0669.修剪二叉搜索树.md | 10 ++++------ problems/0673.最长递增子序列的个数.md | 10 ++++------ problems/0674.最长连续递增序列.md | 10 ++++------ problems/0684.冗余连接.md | 10 ++++------ problems/0685.冗余连接II.md | 10 ++++------ problems/0700.二叉搜索树中的搜索.md | 10 ++++------ problems/0701.二叉搜索树中的插入操作.md | 10 ++++------ problems/0704.二分查找.md | 10 ++++------ problems/0707.设计链表.md | 10 ++++------ .../0714.买卖股票的最佳时机含手续费.md | 10 ++++------ ...的最佳时机含手续费(动态规划).md | 10 ++++------ problems/0718.最长重复子数组.md | 10 ++++------ problems/0724.寻找数组的中心索引.md | 10 ++++------ problems/0738.单调递增的数字.md | 10 ++++------ problems/0739.每日温度.md | 10 ++++------ problems/0746.使用最小花费爬楼梯.md | 10 ++++------ problems/0763.划分字母区间.md | 10 ++++------ problems/0841.钥匙和房间.md | 10 ++++------ problems/0844.比较含退格的字符串.md | 10 ++++------ problems/0860.柠檬水找零.md | 10 ++++------ problems/0922.按奇偶排序数组II.md | 10 ++++------ problems/0925.长按键入.md | 10 ++++------ problems/0941.有效的山脉数组.md | 10 ++++------ problems/0968.监控二叉树.md | 10 ++++------ problems/0977.有序数组的平方.md | 10 ++++------ problems/1002.查找常用字符.md | 10 ++++------ problems/1005.K次取反后最大化的数组和.md | 10 ++++------ problems/1035.不相交的线.md | 10 ++++------ ...047.删除字符串中的所有相邻重复项.md | 10 ++++------ problems/1049.最后一块石头的重量II.md | 10 ++++------ problems/1143.最长公共子序列.md | 10 ++++------ problems/1207.独一无二的出现次数.md | 10 ++++------ problems/1221.分割平衡字符串.md | 10 ++++------ .../1356.根据数字二进制下1的数目排序.md | 10 ++++------ .../1365.有多少小于当前数字的数字.md | 10 ++++------ problems/1382.将二叉搜索树变平衡.md | 10 ++++------ ...居然超时了,此时的n究竟是多大?.md | 10 ++++------ ...绝杀编辑距离,卡尔做了三步铺垫.md | 10 ++++------ problems/二叉树中递归带着回溯.md | 10 ++++------ problems/二叉树总结篇.md | 10 ++++------ problems/二叉树理论基础.md | 10 ++++------ problems/二叉树的统一迭代法.md | 10 ++++------ problems/二叉树的迭代遍历.md | 10 ++++------ problems/二叉树的递归遍历.md | 10 ++++------ ...间复杂度,你不知道的都在这里!.md | 10 ++++------ problems/剑指Offer05.替换空格.md | 10 ++++------ problems/剑指Offer58-II.左旋转字符串.md | 10 ++++------ problems/动态规划-股票问题总结篇.md | 10 ++++------ problems/动态规划总结篇.md | 10 ++++------ problems/动态规划理论基础.md | 10 ++++------ problems/双指针总结.md | 10 ++++------ problems/哈希表总结.md | 10 ++++------ problems/哈希表理论基础.md | 10 ++++------ problems/回溯总结.md | 10 ++++------ .../回溯算法去重问题的另一种写法.md | 10 ++++------ problems/回溯算法理论基础.md | 10 ++++------ problems/字符串总结.md | 10 ++++------ problems/数组总结篇.md | 10 ++++------ problems/数组理论基础.md | 10 ++++------ problems/栈与队列总结.md | 10 ++++------ problems/栈与队列理论基础.md | 10 ++++------ ...据身高重建队列(vector原理讲解).md | 10 ++++------ problems/算法模板.md | 10 ++++------ problems/背包总结篇.md | 10 ++++------ problems/背包理论基础01背包-1.md | 10 ++++------ problems/背包理论基础01背包-2.md | 10 ++++------ problems/背包问题理论基础多重背包.md | 10 ++++------ problems/背包问题理论基础完全背包.md | 10 ++++------ problems/贪心算法总结篇.md | 10 ++++------ problems/贪心算法理论基础.md | 10 ++++------ problems/链表总结篇.md | 10 ++++------ problems/链表理论基础.md | 10 ++++------ problems/面试题02.07.链表相交.md | 10 ++++------ 205 files changed, 821 insertions(+), 1231 deletions(-) diff --git a/problems/0001.两数之和.md b/problems/0001.两数之和.md index 711b3c0d..4f9dbbad 100644 --- a/problems/0001.两数之和.md +++ b/problems/0001.两数之和.md @@ -1,7 +1,8 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 1. 两数之和 @@ -247,7 +248,4 @@ class Solution { ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -437,7 +438,4 @@ var longestPalindrome = function(s) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -435,7 +436,4 @@ func threeSum(_ nums: [Int]) -> [[Int]] { ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 17.电话号码的字母组合 @@ -482,7 +483,4 @@ char ** letterCombinations(char * digits, int* returnSize){ ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
> 一样的道理,能解决四数之和 @@ -401,7 +402,4 @@ func fourSum(_ nums: [Int], _ target: Int) -> [[Int]] { ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -227,7 +228,4 @@ func removeNthFromEnd(_ head: ListNode?, _ n: Int) -> ListNode? { ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -284,7 +285,4 @@ var isValid = function(s) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 24. 两两交换链表中的节点 @@ -277,7 +278,4 @@ func swapPairs(_ head: ListNode?) -> ListNode? { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 27. 移除元素 @@ -284,7 +285,4 @@ int removeElement(int* nums, int numsSize, int val){ ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
> 在一个串中查找是否出现过另一个串,这是KMP的看家本领。 @@ -896,7 +897,4 @@ var strStr = function (haystack, needle) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -221,7 +222,4 @@ var nextPermutation = function(nums) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 34. 在排序数组中查找元素的第一个和最后一个位置 @@ -437,7 +438,4 @@ var searchRange = function(nums, target) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -319,7 +320,4 @@ func searchInsert(_ nums: [Int], _ target: Int) -> Int { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
如果对回溯法理论还不清楚的同学,可以先看这个视频[视频来了!!带你学透回溯算法(理论篇)](https://mp.weixin.qq.com/s/wDd5azGIYWjbU0fdua_qBg) @@ -504,7 +505,4 @@ void solveSudoku(char** board, int boardSize, int* boardColSize) { ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 39. 组合总和 @@ -447,7 +448,4 @@ int** combinationSum(int* candidates, int candidatesSize, int target, int* retur ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
> 这篇可以说是全网把组合问题如何去重,讲的最清晰的了! @@ -519,7 +520,4 @@ int** combinationSum2(int* candidates, int candidatesSize, int target, int* retu ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
> 这个图就是大厂面试经典题目,接雨水! 最常青藤的一道题,面试官百出不厌! @@ -741,7 +742,4 @@ int trap(int* height, int heightSize) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
> 相对于[贪心算法:跳跃游戏](https://mp.weixin.qq.com/s/606_N9j8ACKCODoCbV1lSA)难了不少,做好心里准备! @@ -230,7 +231,4 @@ var jump = function(nums) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 46.全排列 @@ -399,7 +400,4 @@ int** permute(int* nums, int numsSize, int* returnSize, int** returnColumnSizes) ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 排列问题(二) @@ -293,7 +294,4 @@ var permuteUnique = function (nums) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 第51题. N皇后 @@ -472,7 +473,4 @@ var solveNQueens = function(n) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -143,7 +144,4 @@ var totalNQueens = function(n) { }; ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 53. 最大子序和 @@ -230,7 +231,4 @@ var maxSubArray = function(nums) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 53. 最大子序和 @@ -186,7 +187,4 @@ const maxSubArray = nums => { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 55. 跳跃游戏 @@ -155,7 +156,4 @@ var canJump = function(nums) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 56. 合并区间 @@ -268,7 +269,4 @@ var merge = function(intervals) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -536,7 +537,4 @@ int** generateMatrix(int n, int* returnSize, int** returnColumnSizes){ ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 62.不同路径 @@ -346,7 +347,4 @@ var uniquePaths = function(m, n) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 63. 不同路径 II @@ -333,7 +334,4 @@ var uniquePathsWithObstacles = function(obstacleGrid) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 70. 爬楼梯 [力扣题目链接](https://leetcode-cn.com/problems/climbing-stairs/) @@ -295,7 +296,4 @@ var climbStairs = function(n) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 动态规划:以前我没得选,现在我选择再爬一次! 之前讲这道题目的时候,因为还没有讲背包问题,所以就只是讲了一下爬楼梯最直接的动规方法(斐波那契)。 @@ -200,7 +201,4 @@ var climbStairs = function(n) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 72. 编辑距离 @@ -327,7 +328,4 @@ const minDistance = (word1, word2) => { ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -621,7 +622,4 @@ int** combine(int n, int k, int* returnSize, int** returnColumnSizes){ ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -294,7 +295,4 @@ int** combine(int n, int k, int* returnSize, int** returnColumnSizes){ ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 78.子集 @@ -330,7 +331,4 @@ int** subsets(int* nums, int numsSize, int* returnSize, int** returnColumnSizes) ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 84.柱状图中最大的矩形 @@ -486,7 +487,4 @@ var largestRectangleArea = function(heights) { }; ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 子集问题(二) @@ -360,7 +361,4 @@ int** subsetsWithDup(int* nums, int numsSize, int* returnSize, int** returnColum ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -532,7 +533,4 @@ char ** restoreIpAddresses(char * s, int* returnSize){ ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 96.不同的二叉搜索树 @@ -228,7 +229,4 @@ const numTrees =(n) => { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 98.验证二叉搜索树 @@ -523,7 +524,4 @@ var isValidBST = function (root) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -241,7 +242,4 @@ JavaScript: ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 101. 对称二叉树 @@ -576,7 +577,4 @@ var isSymmetric = function(root) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 二叉树层序遍历登场! @@ -1900,7 +1901,4 @@ var minDepth = function(root) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
看完本篇可以一起做了如下两道题目: @@ -598,7 +599,4 @@ var maxDepth = function(root) { ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
看完本文,可以一起解决如下两道题目 @@ -889,7 +890,4 @@ struct TreeNode* buildTree(int* preorder, int preorderSize, int* inorder, int in ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
> 构造二叉搜索树,一不小心就平衡了 @@ -393,7 +394,4 @@ struct TreeNode* sortedArrayToBST(int* nums, int numsSize) { ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
> 求高度还是求深度,你搞懂了不? @@ -736,7 +737,4 @@ bool isBalanced(struct TreeNode* root){ ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
> 和求最大深度一个套路? @@ -407,7 +408,4 @@ var minDepth = function(root) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
> 递归函数什么时候需要返回值 @@ -705,7 +706,4 @@ var pathsum = function(root, targetsum) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 115.不同的子序列 @@ -268,7 +269,4 @@ const numDistinct = (s, t) => { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 116. 填充每个节点的下一个右侧节点指针 @@ -254,7 +255,4 @@ const connect = root => { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 121. 买卖股票的最佳时机 @@ -368,7 +369,4 @@ var maxProfit = function(prices) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 122.买卖股票的最佳时机II @@ -280,7 +281,4 @@ int maxProfit(int* prices, int pricesSize){ ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 122.买卖股票的最佳时机II @@ -265,7 +266,4 @@ const maxProfit = (prices) => { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 123.买卖股票的最佳时机III @@ -350,7 +351,4 @@ const maxProfit = prices => { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 127. 单词接龙 @@ -175,7 +176,4 @@ var ladderLength = function(beginWord, endWord, wordList) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 129. 求根节点到叶节点数字之和 [力扣题目链接](https://leetcode-cn.com/problems/sum-root-to-leaf-numbers/) @@ -291,7 +292,4 @@ var sumNumbers = function(root) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
> 切割问题其实是一种组合问题! @@ -451,7 +452,4 @@ var partition = function(s) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -284,7 +285,4 @@ var minCut = function(s) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 134. 加油站 @@ -373,7 +374,4 @@ int canCompleteCircuit(int* gas, int gasSize, int* cost, int costSize){ ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 135. 分发糖果 @@ -239,7 +240,4 @@ var candy = function(ratings) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -313,7 +314,4 @@ const wordBreak = (s, wordDict) => { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 141. 环形链表 @@ -125,7 +126,4 @@ var hasCycle = function(head) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -328,7 +329,4 @@ extension ListNode: Equatable { ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 143.重排链表 @@ -442,7 +443,4 @@ var reorderList = function(head, s = [], tmp) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -242,7 +243,4 @@ class Solution: ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -635,7 +636,4 @@ func reverseWord(_ s: inout [Character]) { ----------------------- -
-
-
-
+
-
-
-
-
-同:[链表:链表相交](https://programmercarl.com/面试题02.07.链表相交.html)
------------------------
-
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
+ +同:[链表:链表相交](https://programmercarl.com/面试题02.07.链表相交.html) +----------------------- +参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 188.买卖股票的最佳时机IV @@ -361,7 +362,4 @@ var maxProfit = function(k, prices) { ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 189. 旋转数组 @@ -149,7 +150,4 @@ var rotate = function (nums, k) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 198.打家劫舍 @@ -192,7 +193,4 @@ const rob = nums => { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -295,7 +296,4 @@ class Solution { ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
> 链表操作中,可以使用原链表来直接进行删除操作,也可以设置一个虚拟头结点在进行删除操作,接下来看一看哪种方式更方便。 @@ -391,7 +392,4 @@ impl Solution { ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 205. 同构字符串 @@ -139,7 +140,4 @@ var isIsomorphic = function(s, t) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
> 反转链表的写法很简单,一些同学甚至可以背下来但过一阵就忘了该咋写,主要是因为没有理解真正的反转过程。 @@ -449,7 +450,4 @@ struct ListNode* reverseList(struct ListNode* head){ ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 209.长度最小的子数组 @@ -291,7 +292,4 @@ class Solution { ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 213.打家劫舍II @@ -202,7 +203,4 @@ func max(a, b int) int { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -448,7 +449,4 @@ int** combinationSum3(int k, int n, int* returnSize, int** returnColumnSizes){ ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 222.完全二叉树的节点个数 @@ -449,7 +450,4 @@ var countNodes = function(root) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -598,7 +599,4 @@ MyStack.prototype.empty = function() { ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 226.翻转二叉树 @@ -608,7 +609,4 @@ struct TreeNode* invertTree(struct TreeNode* root){ ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
> 工作上一定没人这么搞,但是考察对栈、队列理解程度的好题 @@ -350,7 +351,4 @@ MyQueue.prototype.empty = function() { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 234.回文链表 @@ -321,7 +322,4 @@ var isPalindrome = function(head) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 235. 二叉搜索树的最近公共祖先 @@ -351,7 +352,4 @@ var lowestCommonAncestor = function(root, p, q) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
> 本来是打算将二叉树和二叉搜索树的公共祖先问题一起讲,后来发现篇幅过长了,只能先说一说二叉树的公共祖先问题。 @@ -339,7 +340,4 @@ var lowestCommonAncestor = function(root, p, q) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -419,7 +420,4 @@ var maxSlidingWindow = function (nums, k) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
> 数组就是简单的哈希表,但是数组的大小可不是无限开辟的 @@ -280,7 +281,4 @@ impl Solution { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
> 以为只用了递归,其实还用了回溯 @@ -583,7 +584,4 @@ var binaryTreePaths = function(root) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 动态规划:一样的套路,再求一次完全平方数 ## 279.完全平方数 @@ -355,7 +356,4 @@ var numSquares2 = function(n) { ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 动态规划:一样的套路,再求一次完全平方数 @@ -110,7 +111,4 @@ var moveZeroes = function(nums) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 300.最长递增子序列 @@ -196,7 +197,4 @@ const lengthOfLIS = (nums) => { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 309.最佳买卖股票时机含冷冻期 @@ -231,7 +232,4 @@ const maxProfit = (prices) => { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 动态规划: 给我个机会,我再兑换一次零钱 ## 322. 零钱兑换 @@ -324,7 +325,4 @@ const coinChange = (coins, amount) => { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
> 这也可以用回溯法? 其实深搜和回溯也是相辅相成的,毕竟都用递归。 @@ -445,7 +446,4 @@ var findItinerary = function(tickets) { ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 337.打家劫舍 III @@ -460,7 +461,4 @@ func max(a, b int) int { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 343. 整数拆分 @@ -270,7 +271,4 @@ var integerBreak = function(n) { ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -234,7 +235,4 @@ void reverseString(char* s, int sSize){ ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -358,7 +359,4 @@ PriorityQueue.prototype.compare = function(index1, index2) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -260,7 +261,4 @@ impl Solution { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
> 本周讲解了[贪心理论基础](https://programmercarl.com/贪心算法理论基础.html),以及第一道贪心的题目:[贪心算法:分发饼干](https://programmercarl.com/0455.分发饼干.html),可能会给大家一种贪心算法比较简单的错觉,好了,接下来几天的题目难度要上来了,哈哈。 @@ -278,7 +279,4 @@ var wiggleMaxLength = function(nums) { ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 动态规划:Carl称它为排列总和! @@ -240,7 +241,4 @@ impl Solution { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -336,7 +337,4 @@ impl Solution { ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 392.判断子序列 @@ -225,7 +226,4 @@ func isSubsequence(s string, t string) bool { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 404.左叶子之和 @@ -376,7 +377,4 @@ var sumOfLeftLeaves = function(root) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 406.根据身高重建队列 @@ -291,7 +292,4 @@ var reconstructQueue = function(people) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 416. 分割等和子集 @@ -313,7 +314,4 @@ var canPartition = function(nums) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 435. 无重叠区间 @@ -313,7 +314,4 @@ var eraseOverlapIntervals = function(intervals) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
> 二叉搜索树删除节点就涉及到结构调整了 @@ -520,7 +521,4 @@ var deleteNode = function (root, key) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 452. 用最少数量的箭引爆气球 @@ -241,7 +242,4 @@ int findMinArrowShots(int** points, int pointsSize, int* pointsColSize){ ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
> 需要哈希的地方都能找到map的身影 @@ -280,7 +281,4 @@ impl Solution { ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 455.分发饼干 @@ -233,7 +234,4 @@ int findContentChildren(int* g, int gSize, int* s, int sSize){ ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -363,7 +364,4 @@ var repeatedSubstringPattern = function (s) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 463. 岛屿的周长 [力扣题目链接](https://leetcode-cn.com/problems/island-perimeter/) @@ -176,7 +177,4 @@ var islandPerimeter = function(grid) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 动态规划:一和零! ## 474.一和零 @@ -325,7 +326,4 @@ const findMaxForm = (strs, m, n) => { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
> 和子集问题有点像,但又处处是陷阱 @@ -433,7 +434,4 @@ int** findSubsequences(int* nums, int numsSize, int* returnSize, int** returnCol ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 动态规划:目标和! ## 494. 目标和 @@ -385,7 +386,4 @@ const findTargetSumWays = (nums, target) => { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 496.下一个更大元素 I @@ -299,7 +300,4 @@ var nextGreaterElement = function (nums1, nums2) { ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
> 二叉树上应该怎么求,二叉搜索树上又应该怎么求? @@ -700,7 +701,4 @@ var findMode = function(root) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 503.下一个更大元素II @@ -183,7 +184,4 @@ var nextGreaterElements = function (nums) { }; ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 509. 斐波那契数 @@ -252,7 +253,4 @@ var fib = function(n) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 513.找树左下角的值 @@ -435,7 +436,4 @@ var findBottomLeftValue = function(root) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 516.最长回文子序列 [力扣题目链接](https://leetcode-cn.com/problems/longest-palindromic-subsequence/) @@ -237,7 +238,4 @@ const longestPalindromeSubseq = (s) => { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 动态规划:给你一些零钱,你要怎么凑? ## 518. 零钱兑换 II @@ -260,7 +261,4 @@ const change = (amount, coins) => { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
> 利用二叉搜索树的特性搞起! @@ -364,7 +365,4 @@ var getMinimumDifference = function(root) { ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 538.把二叉搜索树转换为累加树 @@ -312,7 +313,4 @@ struct TreeNode* convertBST(struct TreeNode* root){ ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -276,7 +277,4 @@ func reverseStr(_ s: String, _ k: Int) -> String { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 583. 两个字符串的删除操作 @@ -205,7 +206,4 @@ const minDistance = (word1, word2) => { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 617.合并二叉树 @@ -584,7 +585,4 @@ var mergeTrees = function(root1, root2) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 647. 回文子串 @@ -406,7 +407,4 @@ const countSubstrings = (s) => { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -245,7 +246,4 @@ var predictPartyVictory = function(senateStr) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 654.最大二叉树 @@ -356,7 +357,4 @@ var constructMaximumBinaryTree = function (nums) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 657. 机器人能否返回原点 @@ -150,7 +151,4 @@ var judgeCircle = function(moves) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
> 如果不对递归有深刻的理解,本题有点难 @@ -406,7 +407,4 @@ var trimBST = function (root,low,high) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 673.最长递增子序列的个数 @@ -360,7 +361,4 @@ var findNumberOfLIS = function(nums) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 674. 最长连续递增序列 @@ -262,7 +263,4 @@ const findLengthOfLCIS = (nums) => { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -347,7 +348,4 @@ var findRedundantConnection = function(edges) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 685.冗余连接II @@ -600,7 +601,4 @@ var findRedundantDirectedConnection = function(edges) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 700.二叉搜索树中的搜索 @@ -336,7 +337,4 @@ var searchBST = function (root, val) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 701.二叉搜索树中的插入操作 @@ -503,7 +504,4 @@ var insertIntoBST = function (root, val) { ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 704. 二分查找 @@ -524,7 +525,4 @@ class Solution { ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
> 听说这道题目把链表常见的五个操作都覆盖了? @@ -1146,7 +1147,4 @@ class MyLinkedList { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 714. 买卖股票的最佳时机含手续费 @@ -291,7 +292,4 @@ var maxProfit = function(prices, fee) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 714.买卖股票的最佳时机含手续费 @@ -184,7 +185,4 @@ const maxProfit = (prices,fee) => { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 718. 最长重复子数组 @@ -298,7 +299,4 @@ const findLength = (nums1, nums2) => { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 724.寻找数组的中心下标 @@ -141,7 +142,4 @@ var pivotIndex = function(nums) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 738.单调递增的数字 @@ -229,7 +230,4 @@ var monotoneIncreasingDigits = function(n) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 739. 每日温度 @@ -307,7 +308,4 @@ var dailyTemperatures = function(temperatures) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 746. 使用最小花费爬楼梯 @@ -266,7 +267,4 @@ var minCostClimbingStairs = function(cost) { ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 763.划分字母区间 @@ -175,7 +176,4 @@ var partitionLabels = function(s) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -269,7 +270,4 @@ var canVisitAllRooms = function(rooms) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 844.比较含退格的字符串 @@ -290,7 +291,4 @@ var backspaceCompare = function(s, t) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 860.柠檬水找零 @@ -254,7 +255,4 @@ var lemonadeChange = function(bills) { ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -261,7 +262,4 @@ var sortArrayByParityII = function(nums) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 925.长按键入 @@ -210,7 +211,4 @@ var isLongPressedName = function(name, typed) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 941.有效的山脉数组 @@ -167,7 +168,4 @@ var validMountainArray = function(arr) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 968.监控二叉树 @@ -504,7 +505,4 @@ int minCameraCover(struct TreeNode* root){ ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
> 双指针风骚起来,也是无敌 @@ -333,7 +334,4 @@ class Solution { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -382,7 +383,4 @@ char ** commonChars(char ** words, int wordsSize, int* returnSize){ ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 1005.K次取反后最大化的数组和 @@ -211,7 +212,4 @@ var largestSumAfterKNegations = function(nums, k) { ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 1035.不相交的线 @@ -168,7 +169,4 @@ const maxUncrossedLines = (nums1, nums2) => { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -269,7 +270,4 @@ var removeDuplicates = function(s) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 动态规划:最后一块石头的重量 II ## 1049. 最后一块石头的重量 II @@ -240,7 +241,4 @@ var lastStoneWeightII = function (stones) { ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 1143.最长公共子序列 @@ -215,7 +216,4 @@ const longestCommonSubsequence = (text1, text2) => { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 1207.独一无二的出现次数 @@ -150,7 +151,4 @@ var uniqueOccurrences = function(arr) { ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 1221. 分割平衡字符串 @@ -130,7 +131,4 @@ var balancedStringSplit = function(s) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -190,7 +191,4 @@ var sortByBits = function(arr) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -191,7 +192,4 @@ var smallerNumbersThanCurrent = function(nums) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 1382.将二叉搜索树变平衡 @@ -150,7 +151,4 @@ var balanceBST = function(root) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 程序提交之后为什么会超时?O(n)的算法会超时,n究竟是多大? @@ -229,7 +230,4 @@ Go: ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 动态规划之编辑距离总结篇 @@ -201,7 +202,4 @@ Go: ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 二叉树:以为使用了递归,其实还隐藏着回溯 @@ -517,7 +518,4 @@ var binaryTreePaths = function(root) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 二叉树:总结篇!(需要掌握的二叉树技能都在这里了) @@ -176,7 +177,4 @@ Go: ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 二叉树理论基础篇 @@ -228,7 +229,4 @@ function TreeNode(val, left, right) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -524,7 +525,4 @@ var postorderTraversal = function(root, res = []) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 二叉树的迭代遍历 @@ -455,7 +456,4 @@ var postorderTraversal = function(root, res = []) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -409,7 +410,4 @@ int* postorderTraversal(struct TreeNode* root, int* returnSize){ ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
相信每一位录友都接触过时间复杂度,「代码随想录」已经也讲了一百多道经典题目了,是时候对时间复杂度来一个深度的剖析了,很早之前就写过一篇,当时文章还没有人看,Carl感觉有价值的东西值得让更多的人看到,哈哈。 @@ -171,7 +172,4 @@ Go: ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 题目:剑指Offer 05.替换空格 @@ -342,7 +343,4 @@ func replaceSpace(_ s: String) -> String { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
> 反转个字符串还有这么多用处? @@ -240,7 +241,4 @@ func reverseString(_ s: inout [Character], startIndex: Int, endIndex: Int) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
之前我们已经把力扣上股票系列的题目都讲过的,但没有来一篇股票总结,来帮大家高屋建瓴,所以总结篇这就来了! @@ -480,7 +481,4 @@ Go: ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -131,7 +132,4 @@ ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 动态规划理论基础 @@ -126,7 +127,4 @@ ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
> 又是一波总结 @@ -94,7 +95,4 @@ for (int i = 0; i < array.size(); i++) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
> 哈希表总结篇如约而至 @@ -125,7 +126,4 @@ std::unordered_map 底层实现为哈希,std::map 和std::multimap 的底层 ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -127,7 +128,4 @@ std::unordered_map 底层实现为哈希表,std::map 和std::multimap 的底 ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
> 20张树形结构图、14道精选回溯题目,21篇回溯法精讲文章,由浅入深,一气呵成,这是全网最强回溯算法总结! @@ -452,7 +453,4 @@ Go: ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 回溯算法去重问题的另一种写法 @@ -371,7 +372,4 @@ Go: ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 回溯算法理论基础 @@ -169,7 +170,4 @@ void backtracking(参数) { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 字符串:总结篇 @@ -124,7 +125,4 @@ KMP算法是字符串查找最重要的算法,但彻底理解KMP并不容易 ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -143,7 +144,4 @@ Go: ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -118,7 +119,4 @@ public static void test_arr() { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 栈与队列的理论基础 @@ -175,7 +176,4 @@ Go: ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
> 来看看栈和队列不为人知的一面 @@ -88,7 +89,4 @@ std::queue
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 贪心算法:根据身高重建队列(续集) 在讲解[贪心算法:根据身高重建队列](https://programmercarl.com/0406.根据身高重建队列.html)中,我们提到了使用vector(C++中的动态数组)来进行insert操作是费时的。 @@ -174,7 +175,4 @@ Go: ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 二分查找法 @@ -547,7 +548,4 @@ Go: ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 听说背包问题很难? 这篇总结篇来拯救你了 年前我们已经把背包问题都讲完了,那么现在我们要对背包问题进行总结一番。 @@ -95,7 +96,4 @@ ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 动态规划:关于01背包问题,你该了解这些! 这周我们正式开始讲解背包问题! @@ -425,7 +426,4 @@ test(); ``` ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 动态规划:关于01背包问题,你该了解这些!(滚动数组) @@ -317,7 +318,4 @@ test(); ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 动态规划:关于多重背包,你该了解这些! @@ -203,7 +204,4 @@ Go: ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 动态规划:关于完全背包,你该了解这些! ## 完全背包 @@ -343,7 +344,4 @@ function test_completePack2() { ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
我刚刚开始讲解贪心系列的时候就说了,贪心系列并不打算严格的从简单到困难这么个顺序来讲解。 @@ -159,7 +160,4 @@ Go: ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 关于贪心算法,你该了解这些! @@ -88,7 +89,4 @@ ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -92,7 +93,4 @@ ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 关于链表,你该了解这些! @@ -153,7 +154,4 @@ Go: ----------------------- -
-
-
-
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
## 面试题 02.07. 链表相交 @@ -252,7 +253,4 @@ var getIntersectionNode = function(headA, headB) { ----------------------- -
-
-
-
+