自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码随想录算法训练营总结篇:感受与收获

从数组字符串,到二叉树,再到贪心回溯,最后到动态规划,一路走下来,感觉很有成就感,之前很少能够坚持这么长时间,而且还是有其他任务。每天做一些,坚持下来,时间会给你结果的。之前只是听过动态规划这些题很难,自己第一遍看到的时候也无从下手,但是有了卡哥的方法论之后,我觉得自己还是可以琢磨出来的。(1)对算法有了一个大体的认识。这是我第一遍刷题,之前对算法了解不多,经过这次刷题,我才渐渐的了解到了二叉树、动态规划这种算法题。有了这次训练,对于基本的算法知识有了一定认识与了解,为之后找工作打下了一定基础。

2024-04-22 23:18:08 313

原创 代码随想录算法训练营第六十天 |84. 柱状图中最大的矩形

时间复杂度:O( n)空间复杂度:O(n )时间复杂度:O( n)空间复杂度:O(n )

2024-04-22 22:59:05 233

原创 代码随想录算法训练营第五十九天 | 503. 下一个更大元素 II、42. 接雨水

2.使用i%nums.size()分析的越彻底,做起来越顺。时间复杂度:O( n)空间复杂度:O( n)时间复杂度:O(n )空间复杂度:O( n)时间复杂度:O( n)空间复杂度:O( n)时间复杂度:O( n)空间复杂度:O( n)

2024-04-22 22:14:43 195

原创 代码随想录算法训练营第五十八天 | 739. 每日温度、496. 下一个更大元素 I

时间复杂度:O( n^2)时间复杂度:O(n+m )空间复杂度:O(n+m )空间复杂度:O(n )时间复杂度:O( n)空间复杂度:O(n )

2024-04-22 17:23:53 119

原创 代码随想录算法训练营第五十七天 | 647. 回文子串、516. 最长回文子序列

时间复杂度:O( n^2)空间复杂度:O(n^2 )时间复杂度:O( n^2)时间复杂度:O(n^2 )空间复杂度:O( n^2)空间复杂度:O(1 )

2024-04-17 22:07:03 180

原创 代码随想录算法训练营第五十六天 | 583. 两个字符串的删除操作、72. 编辑距离

对于动态规划还需要不断的理解。时间复杂度:O(nm )空间复杂度:O(nm )空间复杂度:O(nm )时间复杂度:O(nm )空间复杂度:O(nm )时间复杂度:O(nm)

2024-04-16 17:31:10 133

原创 代码随想录算法训练营第五十五天 | 392. 判断子序列、115. 不同的子序列

时间复杂度:O( mn)时间复杂度:O( mn)空间复杂度:O( mn)时间复杂度:O(nm )空间复杂度:O(nm )对递归公式含义清晰很重要。空间复杂度:O( 1)

2024-04-15 20:24:51 288

原创 代码随想录算法训练营第五十三天 |1143. 最长公共子序列 、1035. 不相交的线、53. 最大子数组和

需要抓住本质,比如第一题和第二题。时间复杂度:O( nm)空间复杂度:O( nm)时间复杂度:O( nm)空间复杂度:O( nm)时间复杂度:O( n)空间复杂度:O( n)

2024-04-13 23:50:44 192

原创 代码随想录算法训练营第五十二天 | 300. 最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组

时间复杂度:O(n^2 )dp数组下标的定义需要清晰。时间复杂度:O(mn )空间复杂度:O( mn)空间复杂度:O( n)时间复杂度:O(n)空间复杂度:O(n)

2024-04-12 19:38:43 254

原创 代码随想录算法训练营第五十一天 |309. 买卖股票的最佳时机含冷冻期、714. 买卖股票的最佳时机含手续费

时间复杂度:O(n )空间复杂度:O( n)时间复杂度:O( n)空间复杂度:O( n)

2024-04-11 21:56:57 281

原创 代码随想录算法训练营第五十天 | 123. 买卖股票的最佳时机 III、188. 买卖股票的最佳时机 IV

分析透彻了,做起题来才顺利。时间复杂度:O(nk )空间复杂度:O(nk )时间复杂度:O(n )空间复杂度:O( n)

2024-04-10 22:12:57 329

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

空间复杂度:O(n ) // 第二种方法 为O(1)时间复杂度:O( n)时间复杂度:O(n )空间复杂度:O(n )时间复杂度:O(n )空间复杂度:O( n)时间复杂度:O( n)空间复杂度:O(1 )有时候贪心确实挺好用。

2024-04-09 21:53:24 198

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

空间复杂度:O(log n )时间复杂度:O( n)空间复杂度:O( n)时间复杂度:O(n )空间复杂度:O( n)时间复杂度:O( n)树形dp数组有点抽象。

2024-04-08 22:11:28 249

原创 代码随想录算法训练营第四十六天 |139. 单词拆分 、卡码网56. 携带矿石资源

背包总结。

2024-04-07 22:17:32 234

原创 代码随想录算法训练营第天 |卡码网57. 爬楼梯 、322. 零钱兑换、279. 完全平方数

时间复杂度:O( n*amount)有方法论之后,感觉问题较易解决了。空间复杂度:O( amount)时间复杂度:O(n * √n )时间复杂度:O( n*m)空间复杂度:O(n )空间复杂度:O( n)

2024-04-05 23:10:40 177

原创 代码随想录算法训练营第四十四天 |卡码网52. 携带研究材料 、518. 零钱兑换 II、377. 组合总和 Ⅳ

时间复杂度:O( mn^2)空间复杂度:O(mn )时间复杂度:O(mn )时间复杂度:O( mn)空间复杂度:O(m )空间复杂度:O( m)

2024-04-05 00:39:26 337

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

题解链接1.public:i++) {j--) {时间复杂度:O( m*n)空间复杂度:O( m)

2024-04-03 15:36:47 115

原创 代码随想录算法训练营第四十二天 | 卡码网46. 携带研究材料、416. 分割等和子集

时间复杂度:O(n^2 )空间复杂度:O(n^2 )时间复杂度:O( n^2)时间复杂度:O(n^2 )空间复杂度:O( n)空间复杂度:O( n)

2024-04-02 22:01:07 262

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

时间复杂度:O(n^2 )时间复杂度:O(n^2 )空间复杂度:O( n)空间复杂度:O( n)自己想出来还是有些难度。

2024-04-01 21:20:38 202

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

时间复杂度:O( m x n)空间复杂度:O(m x n )时间复杂度:O(m x n )空间复杂度:O( m x n)

2024-03-30 22:13:23 210

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

动态规划简单题也需要认真对待。时间复杂度:O(n)空间复杂度:O(n)时间复杂度:O(n)空间复杂度:O(n)时间复杂度:O(n)空间复杂度:O(1)时间复杂度:O(n)空间复杂度:O(n)

2024-03-29 22:09:49 317

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

【代码】代码随想录算法训练营第三十七天 | 738. 单调递增的数字、968. 监控二叉树。

2024-03-28 21:48:58 141

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

【多学习,才会增加应对不确定未来的信心】算法题,没接触某类题之前一点思路也没有,接触后,面对相似问题,有了思路,并想想,有机会正确解决;2.题解:修改重叠区间最大值。

2024-03-27 21:31:38 243

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

2.看了题解之后:使用更新最小右边界来解决区间之间相互包含。贪心需要考虑的稍微全面一些,要不容易忽略一些细节。

2024-03-26 22:06:30 307

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

3.贪心算法:前面的出现剩余出现负数,说明起点一定不在这里的范围内。

2024-03-25 22:13:37 221

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

3.特殊处理:针对题中生成的测试用例可以到达 nums[n - 1]。只要能达到倒数第二个,直接加一。局部最优可以推出全局最优,找不出反例,试一试贪心!2.探索可以跳跃的最远距离。

2024-03-24 21:04:35 328

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

贪心算法主要是想如何贪婪,不必想其他精细化的可能;

2024-03-22 20:23:43 147

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

https://programmercarl.com/%E5%9B%9E%E6%BA%AF%E6%80%BB%E7%BB%93.html题解题解题解

2024-03-21 21:10:48 185

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

每层都是从0开始搜索而不是startIndex。需要used数组记录path里都放了哪些元素了。2.因为nums中元素有限,使用数组去重。回溯理解:以下代码为例。

2024-03-20 16:29:08 291

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

2.使用指针,空间利用率提高,删除很多没必要的循环,时间利用率提高。大道至简,代码写的越繁杂,说明对问题理解和把握越不够透彻。

2024-03-19 21:42:31 225

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

在C++中,substr() 是一个常用于 std::string 类的成员函数,用于获取字符串的子串。2.看完题解之后:加上startIdx之后,使用重复元素只使用一次;关键细节要理解清楚,比如startIdx的使用。2.使用数组储存是否已经使用过同一树层的元素。

2024-03-18 22:01:01 347

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

重复的代码可以通过规律固定下来,达到简化代码的效果。2.看过题解之后的简化:减低时间复杂度、优化剪枝。2.看完题解之后,代码优化。

2024-03-16 21:42:40 410

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

对于自己脑中觉得可以实现的想法,如果时间和条件可以(没绝对的阻碍),把这个想法做出来,错了也没关系,起码不用受这个想法干扰。,是的,我指的是所有回溯法的问题都可以抽象为树形结构!

2024-03-15 15:52:04 291

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

花时间把一些模糊的概念弄清楚很有必要,比如递归的逻辑,把过程一步一步写出来,这样对于递归的理解和把握就比较清晰了。

2024-03-14 20:59:06 333

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

删除节点比添加节点难。

2024-03-13 16:02:50 283 1

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

分析清楚之后会很好写。

2024-03-12 22:25:33 341

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

还是自己不看题解做一遍才有效。

2024-03-11 22:44:20 301 1

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

注意不变量。

2024-03-09 11:38:49 303 1

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

递归三步:1.确定递归函数参数和返回值;2.确定终止条件3.确定单层递归逻辑。

2024-03-08 15:54:22 383 1

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

然而,递归算法也有其缺点,如递归过深可能导致堆栈溢出,且大量的函数调用可能会降低运行效率。这意味着函数在其定义中直接或间接调用自身,将一个大型的复杂问题转化为一个与原问题相似的规模较小的问题来解决,从而极大地减少代码量。,运行时间只随循环次数的增加而增加,且没有额外的空间开销。但是,迭代算法在处理复杂问题时可能不如递归算法直观和简洁。在递归算法中,当遇到满足终止条件的情况时,会逐层返回以结束循环。,其中循环代码中参与运算的变量同时也是保存结果的变量,当前保存的结果作为下一次循环计算的初始值。

2024-03-07 14:53:11 326 1

空空如也

空空如也

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

TA关注的人

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