自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(74)
  • 收藏
  • 关注

原创 代码随想录算法训练营第四十九天 | 121. 买卖股票的最佳时机,122.买卖股票的最佳时机II

【代码】代码随想录算法训练营第四十九天 | 121. 买卖股票的最佳时机,122.买卖股票的最佳时机II。

2023-06-27 22:21:54 181

原创 代码随想录算法训练营第四十八天 | 198.打家劫舍,213.打家劫舍II,337.打家劫舍III

【代码】代码随想录算法训练营第四十八天 | 198.打家劫舍,213.打家劫舍II,337.打家劫舍III。

2023-06-27 00:02:26 150

原创 代码随想录算法训练营第四十六天 | 139.单词拆分,关于多重背包,你该了解这些!,背包问题总结篇!

dp[i]:考虑下标i(包括i)以内的房屋,最多可以偷窃的金额为dp[i]public :i ++) {} };时间复杂度: O(n)空间复杂度: O(n);动态规划:416.分割等和子集(opens new window)动态规划:1049.最后一块石头的重量 II(opens new window)动态规划:494.目标和(opens new window)动态规划:518. 零钱兑换 II(opens new window)

2023-06-27 00:01:30 139

原创 代码随想录算法训练营第四十四天 | 完全背包,518. 零钱兑换 II,377. 组合总和 Ⅳ

【代码】代码随想录算法训练营第四十四天 | 完全背包,518. 零钱兑换 II,377. 组合总和 Ⅳ。

2023-06-24 22:33:53 214

原创 代码随想录算法训练营第四十五天 | 70. 爬楼梯 (进阶),322. 零钱兑换,279.完全平方数

【代码】代码随想录算法训练营第四十五天 | 70. 爬楼梯 (进阶),322. 零钱兑换,279.完全平方数。

2023-06-24 22:33:00 222

原创 代码随想录算法训练营第四十三天 | 1049. 最后一块石头的重量 II ,494. 目标和,474.一和零

尽量让石头分成重量相同的两堆,相撞之后剩下的石头最小,这样就化解成01背包问题了dp[j]表示容量(这里说容量更形象,其实就是重量)为j的背包,最多可以背最大重量为dp[j]public :i ++) {// 遍历物品 for(int j = target;j --) {// 遍历背包 dp [ j ] = max(dp [ j ] , dp [ j - stones [ i ] ] + stones [ i ]);} };

2023-06-24 22:32:53 153

原创 代码随想录算法训练营第四十二天 | 01背包理论基础,01背包理论基础(滚动数组),416. 分割等和子集

【代码】代码随想录算法训练营第四十二天 | 01背包理论基础,01背包理论基础(滚动数组),416. 分割等和子集。

2023-06-24 22:28:59 326

原创 代码随想录算法训练营第四十一天 | 343. 整数拆分,96.不同的二叉搜索树

【代码】代码随想录算法训练营第四十一天 | 343. 整数拆分,96.不同的二叉搜索树。

2023-06-20 23:58:23 92

原创 代码随想录算法训练营第三十九天 | 62.不同路径,63. 不同路径 II

【代码】代码随想录算法训练营第三十九天 | 62.不同路径,63. 不同路径 II。

2023-06-20 00:30:24 292

原创 代码随想录算法训练营第三十八天 | 理论基础,509. 斐波那契数,70. 爬楼梯,746. 使用最小花费爬楼梯

【代码】代码随想录算法训练营第三十八天 | 理论基础,509. 斐波那契数,70. 爬楼梯,746. 使用最小花费爬楼梯。

2023-06-18 23:51:00 1052

原创 代码随想录算法训练营第三十七天 | 738.单调递增的数字,968.监控二叉树,总结

一旦出现strNum[i - 1] > strNum[i]的情况(非单调递增),首先想让strNum[i - 1]减一,strNum[i]赋值9找到置9的起始点,因为一旦发生非单调递增的情况,左边位上的值减一后,为取到最大值,之后的值都为9public :// flag用来标记赋值9从哪里开始 // 设置为这个默认值,为了防止第二个for循环在flag没有被赋值的情况下执行 int flag = strNum . size();i > 0;

2023-06-18 23:48:34 284

原创 代码随想录算法训练营第三十六天 | 435. 无重叠区间,763.划分字母区间,56. 合并区间

【代码】代码随想录算法训练营第三十六天 | 435. 无重叠区间,763.划分字母区间,56. 合并区间。

2023-06-14 23:44:38 319

原创 代码随想录算法训练营第三十五天 | 860.柠檬水找零,406.根据身高重建队列,452. 用最少数量的箭引爆气球

【代码】代码随想录算法训练营第三十五天 | 860.柠檬水找零,406.根据身高重建队列,452. 用最少数量的箭引爆气球。

2023-06-14 23:44:07 61

原创 代码随想录算法训练营第三十四天 | 1005.K次取反后最大化的数组和,134. 加油站,135. 分发糖果

【代码】代码随想录算法训练营第三十四天 | 1005.K次取反后最大化的数组和,134. 加油站,135. 分发糖果。

2023-06-12 22:51:46 182

原创 代码随想录算法训练营第三十二天 | 122.买卖股票的最佳时机II,55. 跳跃游戏,45.跳跃游戏II

【代码】代码随想录算法训练营第三十二天 | 122.买卖股票的最佳时机II,55. 跳跃游戏,45.跳跃游戏II。

2023-06-10 16:39:51 257

原创 代码随想录算法训练营第三十一天 | 理论基础,455.分发饼干,376. 摆动序列,53. 最大子序和

【代码】代码随想录算法训练营第三十一天 | 理论基础,455.分发饼干,376. 摆动序列,53. 最大子序和。

2023-06-10 16:39:21 290

原创 代码随想录算法训练营第三十天 | 332.重新安排行程,51. N皇后,37. 解数独,总结

一个机场映射多个机场,需要记录映射关系->int记录航班次数,进行标记pair里要有const,因为map中的key是不可修改的private :// unordered_map<出发机场, map<到达机场, 航班次数>> targets unordered_map < string , map < string , int >> targets;// 记录到达机场是否飞过了 result . push_back(target . first);

2023-06-08 23:10:45 81

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

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

2023-06-07 23:46:49 49

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

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

2023-06-07 23:06:20 165

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

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

2023-06-07 23:04:10 51

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

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

2023-06-03 23:16:43 55

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

回溯法本身是一种穷举的做法,可以加一些剪纸的操作进行优化。所有回溯法的问题都可以抽象为树形结构。

2023-06-03 23:14:47 229

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

public:// 寻找符合区间[low, high]的节点// 寻找符合区间[low, high]的节点// root->left接入符合条件的左孩子// root->right接入符合条件的右孩子二叉树的理论基础二叉树的遍历方式求二叉树的属性二叉树的修改与构造求二叉搜索树的属性二叉树公共祖先问题二叉搜索树的修改与构造涉及到二叉树的构造,无论普通二叉树还是二叉搜索树一定前序,都是先构造中节点求普通二叉树的属性,一般是后序,一般要通过递归函数的返回值做计算。

2023-06-01 23:19:50 39

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

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

2023-05-31 23:26:36 41

原创 代码随想录算法训练营第二十一天 | 530.二叉搜索树的最小绝对差,501.二叉搜索树中的众数,236. 二叉树的最近公共祖先

【代码】代码随想录算法训练营第二十一天 | 530.二叉搜索树的最小绝对差,501.二叉搜索树中的众数,236. 二叉树的最近公共祖先。

2023-05-30 22:34:51 155

原创 代码随想录算法训练营第二十天 | 654.最大二叉树,617.合并二叉树,700.二叉搜索树中的搜索,98.验证二叉搜索树

【代码】代码随想录算法训练营第二十天 | 654.最大二叉树,617.合并二叉树,700.二叉搜索树中的搜索,98.验证二叉搜索树。

2023-05-29 22:15:24 40

原创 代码随想录算法训练营第十八天 | 513.找树左下角的值,112. 路径总和 113.路径总和ii,106.从中序与后序遍历序列构造二叉树 105.从前序与中序遍历序列构造二叉树

【代码】代码随想录算法训练营第十八天 | 513.找树左下角的值,112. 路径总和 113.路径总和ii,106.从中序与后序遍历序列构造二叉树 105.从前序与中序遍历序列构造二叉树。

2023-05-27 22:43:13 57

原创 代码随想录算法训练营第十七天 | 110.平衡二叉树,257. 二叉树的所有路径,404.左叶子之和

【代码】代码随想录算法训练营第十七天 | 110.平衡二叉树,257. 二叉树的所有路径,404.左叶子之和。

2023-05-26 23:46:05 43

原创 代码随想录算法训练营第十六天 | 104.二叉树的最大深度 559.n叉树的最大深度,111.二叉树的最小深度,222.完全二叉树的节点个数

【代码】代码随想录算法训练营第十六天 | 104.二叉树的最大深度 559.n叉树的最大深度,111.二叉树的最小深度,222.完全二叉树的节点个数。

2023-05-25 21:08:33 513

原创 代码随想录算法训练营第十五天 | 层序遍历 10,226.翻转二叉树,101.对称二叉树 2

迭代+队列(栈也可以)

2023-05-24 21:23:07 651

原创 代码随想录算法训练营第十四天 | 理论基础,递归遍历,迭代遍历,统一迭代

平衡二叉搜索树:又被称为AVL(Adelson-Velsky and Landis)树,它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。存储方式:二叉树可以链式存储(指针),也可以顺序存储(数组,如果父节点的数组下标是i,那么它的左孩子就是i*2 + 1,右孩子就是i*2 + 2)深度为k,有2^k-1个节点的二叉树。二叉搜索树:是一个有序树,左子树上所有结点的值均小于它的根结点的值,右子树上所有结点的值均大于它的根结点的值,左、右子树也分别为二叉排序树。

2023-05-24 00:46:26 474

原创 代码随想录算法训练营第十三天 | 239. 滑动窗口最大值,347.前 K 个高频元素,总结

单调队列的经典题目,保证队列里单调递减或递增的原则窗口是移动的,大顶堆每次只能弹出最大值,无法移除其他数值,造成大顶堆维护的不是滑动窗口里面的数值,所以不能用大顶堆pop(value):如果窗口移除的元素value等于单调队列的出口元素,那么队列弹出元素,否则不用任何操作push(value):如果push的元素value大于入口元素的数值,那么就将队列入口的元素弹出,直到push元素的数值小于等于队列入口元素的数值为止private:public:if(!while(!

2023-05-22 21:08:36 373

原创 代码随想录算法训练营第十一天 | 20. 有效的括号,1047. 删除字符串中的所有相邻重复项,150. 逆波兰表达式求值

【代码】代码随想录算法训练营第十一天 | 20. 有效的括号,1047. 删除字符串中的所有相邻重复项,150. 逆波兰表达式求值。

2023-05-20 22:30:20 384

原创 代码随想录算法训练营第十天 | 理论基础,232.用栈实现队列,225. 用队列实现栈

【代码】代码随想录算法训练营第十天 | 理论基础,232.用栈实现队列,225. 用队列实现栈。

2023-05-20 21:50:37 77

原创 代码随想录算法训练营第九天 | 28. 实现 strStr(),459.重复的子字符串,字符串总结,双指针回顾

KMP主要应用在字符串匹配:当出现字符串不匹配时,可以知道一部分之前已经匹配的文本内容,可以利用这些信息避免从头再去做匹配了前缀表:用来回退的,它记录了模式串与主串(文本串)不匹配的时候,模式串应该从哪里开始重新匹配;记录下标i之前(包括i)的字符串中,有多大长度的相同前缀后缀当文本串中出现不匹配的时候,可以根据模式串自身的特点,从模式串的中间位置继续匹配,而不需要从头开始。利用的就是模式串中前缀和后缀的相同的长度public:int j = 0;

2023-05-18 23:21:42 401

原创 代码随想录算法训练营第八天 | 344.反转字符串,541. 反转字符串II,剑指Offer 05.替换空格,151.翻转字符串里的单词,剑指Offer58-II.左旋转字符串

【代码】代码随想录算法训练营第八天 | 344.反转字符串,541. 反转字符串II,剑指Offer 05.替换空格,151.翻转字符串里的单词,剑指Offer58-II.左旋转字符串。

2023-05-17 22:58:33 48

原创 代码随想录算法训练营第七天 | 454.四数相加II,383. 赎金信,15. 三数之和,18. 四数之和

【代码】代码随想录算法训练营第七天 | 454.四数相加II,383. 赎金信,15. 三数之和,18. 四数之和。

2023-05-16 20:07:07 242

原创 代码随想录算法训练营第六天 | 哈希表理论基础,242.有效的字母异位词,349. 两个数组的交集,202. 快乐数,1. 两数之和

【代码】代码随想录算法训练营第六天 | 哈希表理论基础,242.有效的字母异位词,349. 两个数组的交集,202. 快乐数,1. 两数之和。

2023-05-15 21:38:17 205

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

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

2023-05-13 22:00:54 57

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

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

2023-05-12 19:19:56 50

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除