- 博客(175)
- 收藏
- 关注
原创 day55
这道题目算是 编辑距离问题 的入门题目(毕竟这里只是涉及到减法),慢慢的,后面就要来解决真正的 编辑距离问题了。但相对于刚讲过 392.判断子序列,本题 就有难度了 ,感受一下本题和 392.判断子序列 的区别。第九章 动态规划part15。115.不同的子序列。115.不同的子序列。
2023-08-29 17:19:39 333
原创 day52
本题相对于昨天的动态规划:300.最长递增子序列 最大的区别在于“连续”。先尝试自己做做,感受一下区别。今天开始正式子序列系列,本题是比较简单的,感受感受一下子序列题目的思路。674. 最长连续递增序列。718. 最长重复子数组。674. 最长连续递增序列。稍有难度,要使用二维dp数组了。第九章 动态规划part13。718. 最长重复子数组。300.最长递增子序列。300.最长递增子序列。
2023-08-29 17:18:24 308
原创 day51
相对122.买卖股票的最佳时机II ,本题只需要在计算卖出操作的时候减去手续费就可以了,代码几乎是一样的,可以尝试自己做一做。本题加了一个冷冻期,状态就多了,有点难度,大家要把各个状态分清,思路才能清晰。714.买卖股票的最佳时机含手续费。714.买卖股票的最佳时机含手续费。309.最佳买卖股票时机含冷冻期。309.最佳买卖股票时机含冷冻期。第九章 动态规划part12。股票问题做一个总结吧。
2023-08-29 17:17:17 308
原创 day50
这道题一下子就难度上来了,关键在于至多买卖两次,这意味着可以买卖一次,可以买卖两次,也可以不买卖。本题是123.买卖股票的最佳时机III 的进阶版。123.买卖股票的最佳时机III。123.买卖股票的最佳时机III。188.买卖股票的最佳时机IV。188.买卖股票的最佳时机IV。第九章 动态规划part11。
2023-08-29 17:16:42 222
原创 day56
本题和动态规划:115.不同的子序列 相比,其实就是两个字符串都可以删除了,情况虽说复杂一些,但整体思路是不变的。最终我们迎来了编辑距离这道题目,之前安排题目都是为了 编辑距离做铺垫。583. 两个字符串的删除操作。583. 两个字符串的删除操作。第九章 动态规划part16。
2023-08-29 17:15:39 89
原创 day58
大家可以读题,思考暴力的解法,然后在看单调栈的解法。就能感受出单调栈的巧妙。本题和 739. 每日温度 看似差不多,其实 有加了点难度。今天正式开始单调栈,这是单调栈一篇扫盲题目,也是经典题。496.下一个更大元素 I。496.下一个更大元素 I。
2023-08-29 17:14:35 168
原创 day59
建议是掌握 双指针 和单调栈,因为在面试中 写出单调栈可能 有点难度,但双指针思路更直接一些。在时间紧张的情况有,能写出双指针法也是不错的,然后可以和面试官在慢慢讨论如何优化。接雨水这道题目是 面试中特别高频的一道题,也是单调栈 应用的题目,大家好好做做。这道题和 739. 每日温度 几乎如出一辙,可以自己尝试做一做。503.下一个更大元素II。503.下一个更大元素II。第十章 单调栈part02。
2023-08-29 17:13:42 378
原创 day60
今天是训练营最后一天,恭喜坚持两个月的录友们,接下来可以写一篇自己 代码随想录一刷的总结。好好回顾一下,这两个月自己的博客内容,以及自己的收获。有了之前单调栈的铺垫,这道题目就不难了。第十章 单调栈part03。84.柱状图中最大的矩形。
2023-08-29 17:13:01 121
原创 day49 第九章 动态规划part10● 121. 买卖股票的最佳时机 ● 122.买卖股票的最佳时机II
122.买卖股票的最佳时机II。121. 买卖股票的最佳时机。第九章 动态规划part10。
2023-08-26 18:49:15 207
原创 day48第九章 动态规划part09● 198.打家劫舍 ● 213.打家劫舍II ● 337.打家劫舍III
第九章 动态规划part09。● 337.打家劫舍III。● 213.打家劫舍II。● 198.打家劫舍。
2023-08-26 18:40:53 185
原创 day57第九章 动态规划part17 647. 回文子串 516.最长回文子序列 动态规划总结篇
第九章 动态规划part17。516.最长回文子序列。
2023-08-22 23:18:02 219
原创 Day52 第九章 动态规划part13 300.最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组
674. 最长连续递增序列。718. 最长重复子数组。第九章 动态规划part13。300.最长递增子序列。
2023-08-21 05:52:32 84
原创 day53 第九章 动态规划part14● 1143.最长公共子序列 ● 1035.不相交的线 ● 53. 最大子序和 动态规划
【代码】day53 第九章 动态规划part14● 1143.最长公共子序列 ● 1035.不相交的线 ● 53. 最大子序和 动态规划。
2023-08-20 05:21:22 225
原创 day45 ● 70. 爬楼梯 (进阶)● 322. 零钱兑换 ● 279.完全平方数
【代码】day45 ● 70. 爬楼梯 (进阶)● 322. 零钱兑换 ● 279.完全平方数。
2023-08-18 00:22:02 236
原创 代码随想录算法训练营第44天 完全背包● 518. 零钱兑换 II ● 377. 组合总和 Ⅳ
【代码】代码随想录算法训练营第44天 完全背包● 518. 零钱兑换 II ● 377. 组合总和 Ⅳ。
2023-08-14 06:33:27 120
原创 代码随想录算法训练营第43天● 1049. 最后一块石头的重量 II ● 494. 目标和 ● 474.一和零
【代码】代码随想录算法训练营第43天● 1049. 最后一块石头的重量 II ● 494. 目标和 ● 474.一和零。
2023-08-10 08:47:43 283
原创 代码随想录算法训练营第41天 343. 整数拆分 96.不同的二叉搜索树
【代码】代码随想录算法训练营第40天 343. 整数拆分 96.不同的二叉搜索树。
2023-08-08 08:08:33 102
原创 代码随想录算法训练营第39天 动态规划 62.不同路径 63. 不同路径 II
【代码】代码随想录算法训练营第39天 动态规划 62.不同路径 63. 不同路径 II。
2023-08-06 02:08:21 915
原创 代码随想录算法训练营第38天 动态规划 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯
【代码】代码随想录算法训练营第38天 动态规划 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯。
2023-08-05 08:56:43 114
原创 代码随想录算法训练营第37天 738.单调递增的数字 ●968.监控二叉树
通过分析数字的每一位来解决。我们可以从左到右扫描数字,并确保在构造结果时遵循给定的规则。
2023-08-04 01:33:57 226
原创 代码随想录算法训练营第36天 435. 无重叠区间 763.划分字母区间 56. 合并区间
435.无重叠区间class Solution { public int eraseOverlapIntervals(int[][] intervals) { if(intervals.length == 0){ return 0; } // 根据结束时间对区间进行排序 Arrays.sort(intervals,(a,b) -> a[1] -b[1]); int count
2023-08-02 23:42:20 51
原创 代码随想录算法训练营第35天 860.柠檬水找零 406.根据身高重建队列 452. 用最少数量的箭引爆气球
通过模拟整个交易过程来解决这个问题。在这个过程中,需要跟踪你手头有多少 5 美元和 10 美元的钞票。每当有人支付 5 美元时,可以直接接受付款。当有人支付 10 美元时,需要有一张 5 美元的钞票来找零。当有人支付 20 美元时,需要有一张 10 美元和一张 5 美元的钞票或者三张 5 美元的钞票来找零。如果在任何时候不能找零,那么返回。否则,可以通过整个过程,返回。
2023-08-01 06:20:14 84
原创 代码随想录算法训练营第34天1005.K次取反后最大化的数组和 134. 加油站135. 分发糖果
【代码】代码随想录算法训练营第34天1005.K次取反后最大化的数组和 134. 加油站135. 分发糖果。
2023-08-01 05:49:30 52
原创 代码随想录算法训练营第32天122.买卖股票的最佳时机II 55. 跳跃游戏 45.跳跃游戏II
你只需遍历价格数组,如果发现第二天的价格高于当天的价格,就在当天买入,并在第二天卖出。重复这个过程,你将能够获得最大利润,由于只进行了一次遍历,这个算法的时间复杂度是O(n),其中 n 是价格数组的长度。这种贪心的方法是因为可以在同一天买入和卖出股票,所以没有必要跳过任何可能的盈利机会。
2023-07-29 23:38:40 117
原创 代码随想录算法训练营第31天 455.分发饼干 376. 摆动序列 53. 最大子序和
无论当前饼干是否满足当前孩子的胃口,每次迭代中,如果当前饼干可以满足当前孩子的胃口(即。指针的位置,这就是最多可以满足的孩子数。的任一数组被完全遍历后,返回。指针总是向前移动一位。首先,将孩子的胃口数组。
2023-07-29 09:02:48 259
原创 代码随想录算法训练营第30天 332.重新安排行程 51. N皇后 37. 解数独
所以回溯法也经常和二叉树遍历,深度优先搜索混在一起,因为这两种方式都是用了递归。回溯法就是暴力搜索,并不是什么高效的算法,最多再剪枝一下。
2023-07-29 07:23:19 67
原创 代码随想录算法训练营第29天 491.递增子序列 46.全排列 47.全排列 II
【代码】代码随想录算法训练营第29天 491.递增子序列 46.全排列 47.全排列 II。
2023-07-29 07:21:40 251
原创 代码随想录算法训练营第28天 93.复原IP地址 78.子集 90.子集II
首先会检查输入的数组是否为空,如果为空则直接返回一个空的结果集。然后,它会使用回溯方法(backtrack)来生成所有可能的子集。在每一次递归调用中,它都会将当前的临时列表(tempList)添加到结果集中,然后尝试将当前元素添加到临时列表中,并进入下一层递归。在回到这一层递归后,它会撤销上一步的操作(即将当前元素从临时列表中移除),以便在下一次循环中尝试不添加当前元素。
2023-07-29 07:05:05 419
原创 代码随想录算法训练营第27天第七章 回溯算法part03● 39. 组合总和● 40.组合总和II● 131.分割回文串
【代码】代码随想录算法训练营第27天第七章 回溯算法part03● 39. 组合总和● 40.组合总和II● 131.分割回文串。
2023-07-25 08:53:46 77
原创 代码随想录算法训练营第25天 216.组合总和III● 17.电话号码的字母组合
【代码】代码随想录算法训练营第25天 216.组合总和III● 17.电话号码的字母组合。
2023-07-25 08:51:12 49
原创 代码随想录算法训练营第24天 回溯算法 77. 组合
假设当前已选择的数为i,那么在下一层搜索时,我们只能从i + 1开始选择,因为题目要求每个组合中的数字必须是严格升序的。如果我们选择的数已经大于n或者剩余的未选择的数已经不足以完成k个数的选择,那么我们可以立即停止搜索,这是一种剪枝的方法。然后,对于从begin开始的每一个可能的选项,将其添加到路径中,然后进行下一层的递归。在下一层的递归开始的数字应该从i+1开始,以保证所有的数字都只使用一次。在DFS的递归函数中,首先检查当前路径的长度是否已经达到k,如果已经达到k,那么就将当前路径加入到结果列表中。
2023-07-22 00:44:29 239
原创 k8s面试详解
如Pod(一组一个或多个容器,共享存储/网络,以及如何运行容器的规范),服务(抽象方式来暴露Pod的网络服务),Volume(数据卷,用于数据持久化) ,命名空间(用于将系统内部资源分隔成多个独立的部分)等。:说明您在过去的项目中如何使用k8s来管理和部署应用程序,以及它如何快速解决您遇到的问题。其主要目标是提供一个平台,使用户能够以更便捷的方式来部署、扩展、更新和监控他们的应用程序。主节点协调集群中的所有任务,例如调度应用程序、维护应用程序的所需状态、扩展应用程序以及推出新更新。
2023-07-21 02:22:47 116
原创 代码随想录算法训练营第23天 669. 修剪二叉搜索树 108.将有序数组转换为二叉搜索树 538.把二叉搜索树转换为累加树
转换规则是这样的:根据二叉搜索树的特性,一个节点的值等于它的右子树的所有节点值之和加上它自己的值和它左子树中所有比它大的节点的值之和。所以,如果我们用逆中序遍历(右-根-左的顺序)来遍历这棵树,那么我们可以使用一个累加器(accumulator)来记录已经累加过的节点值,然后在遍历到一个新节点时,把累加器的值加到新节点的值中。遍历时,用一个变量sum来存储已经遍历过的节点的值的总和,然后把这个总和赋值给当前节点。累加树是一种特殊的二叉树,其中每个节点的新值等于原树中大于或等于该节点值的所有值之和。
2023-07-21 02:13:35 109
原创 redis数据类型
和Sets类似,它也是字符串的集合,同样是无序的,不同的是每个元素都会关联一个double类型的分数。:这是Redis最简单的类型,你可以在键上存储字符串、整数或者浮点数,字符串类型是二进制安全的。:这是一个字符串字段和字符串值之间的映射表,它的添加、删除操作都是 O(1)(常数时间复杂度)。每种类型的键都有其特定的操作,比如,你可以对字符串进行追加操作,对列表进行推入/弹出操作,对集合进行交集、并集操作等等。:这是一个无序且唯一的字符串集合,通过哈希表实现,所以添加、删除、查找的复杂度都是 O(1)。
2023-07-19 22:39:27 65
原创 代码随想录算法训练营第22天 235. 二叉搜索树的最近公共祖先 701.二叉搜索树中的插入操作 450.删除二叉搜索树中的节点
左子树上所有节点的值都小于根节点的值,右子树上所有节点的值都大于根节点的值。我们将新的值与根节点的值进行比较,如果新值小于当前节点的值,我们就在左子树上进行这个操作;如果新值大于当前节点的值,我们就在右子树上进行这个操作。如果遇到当前节点为空,就在这个位置插入新的值。给定一个二叉搜索树,可以利用它的性质(左子树上所有节点的值都小于根节点的值,右子树上所有节点的值都大于根节点的值)找到两个节点的最近公共祖先。
2023-07-19 22:03:21 1111
原创 代码随想录算法训练营第21天 530. 二叉搜索树的最小绝对差 501.二叉搜索树中的众数 236. 二叉树的最近公共祖先
【代码】代码随想录算法训练营第21天 530. 二叉搜索树的最小绝对差 501.二叉搜索树中的众数 236. 二叉树的最近公共祖先。
2023-07-19 09:08:25 82
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人