- 博客(82)
- 收藏
- 关注
原创 代码随想录算法训练营第17期第34天 | 1005. K 次取反后最大化的数组和、134. 加油站、135. 分发糖果
这里说一下卡哥和我的区别,基本思路是一样的, 只是卡哥这里只需要一次排序,而我这边排了两次;2.从前往后遍历,求遍历值的和,如果当前数为负数,则增加其负数,同时k--;3.如果最后k还大于0且为奇数,再从小到大排序,减去2倍最小的数;2.从前往后遍历,遇到负数将其转换为整数,并k--;3.如果最后k还大于0且为奇数,则减去2倍最小的数;1.按照绝对值大小从大到小排序。
2023-09-01 01:37:51
178
原创 代码随想录算法训练营第17期第32天 | 122. 买卖股票的最佳时机 II、55. 跳跃游戏、45. 跳跃游戏 II
我好像记得这道题是怎么写的,也不知道是福是祸
2023-08-26 01:43:50
184
原创 代码随想录算法训练营第17期第29天 | 491. 递增子序列、46. 全排列、 47. 全排列 II
b.按照第三层的逻辑,前面取7组成【4,7】,当遇到第二个7的时候,就不取了,所以这里需要设置一个map,当然这里值少,用list也行,map的话,写法是【uset.find(nums[i])!= uset.end()】表示找到了,list的话,采用【int used[201] = {0};和used[nums[i]+100] == 1)】,因为这题的要求是【a.题目要求是递增子序列,所以,nums[i]要>=path.back(),故path里面必须要有值,所以,条件之一是【!】,最多201个数;
2023-08-07 01:44:04
91
原创 代码随想录算法训练营第17期第28天 | 93.复原IP地址 、78.子集 、 90.子集II
这一题确实就是动态规划的模板,一开始我还考虑了如何停止,后来发现不用,因为start_index在逐次上升,自然就会停止,直接收集结果就可以;因为是直接push_back(path),连path是[]的情况也包含了,不需要额外处理;1.当点号有三个之后,当最后一部分数值是有效的话, 就可以加入结果集了。
2023-08-05 01:16:13
138
原创 代码随想录算法训练营第17期第27天 | 39. 组合总和、40. 组合总和 II、 131. 分割回文串
如果不从头开始遍历的话,i = start_index。
2023-07-27 02:13:31
107
原创 代码随想录算法训练营第17期第25天(26休息) | 216. 组合总和 III、17. 电话号码的字母组合
这里我一开始没有用su,也可以当path的长度足够时再判断path的总值。
2023-07-26 22:28:12
71
原创 代码随想录算法训练营第17期第24天 | 理论基础 、77. 组合
举个例子,n = 4,k = 3, 目前已经选取的元素为0(path.size为0),n - (k - 0) + 1 即 4 - ( 3 - 0) + 1 = 2。在集合n中至多要从该起始位置 : i = 所需需要的元素个数(k - path.size())所需需要的元素个数为: k - path.size();从2开始搜索都是合理的,可以是组合[2, 3, 4]。已经选择的元素个数:path.size();
2023-07-24 01:46:02
56
原创 代码随想录算法训练营第17期第17天 | 110. 平衡二叉树、111. 二叉树的最小深度、222. 完全二叉树的节点个数
分别求出其左右子树的高度,然后如果差值小于等于1,则返回当前二叉树的高度,否则返回-1,表示已经不是二叉平衡树了。这里开始涉及到回溯了,然而我落了4天的题目。
2023-07-21 01:51:03
43
原创 代码随想录算法训练营第17期第16天 | 104. 二叉树的最大深度、 559. N 叉树的最大深度、111. 二叉树的最小深度、222. 完全二叉树的节点个数
这里是递归,迭代法在15天的时候有过记录,这里就不再记录了。
2023-07-20 01:31:34
37
原创 代码随想录算法训练营第17期第13天 | 239. 滑动窗口最大值、347. 前 K 个高频元素、总结篇
其实没啥好总结的,不如多看一遍最后两题,用C++来写,是挺麻烦的;1.掌握unordered_map的使用方法。2.先pop,再push,最后print。1.关于构建一个数据结构满足要求。3.如何构建类和如何使用类。2.小顶堆的使用方法。
2023-07-11 00:58:57
179
原创 代码随想录算法训练营第17期第11天 (12休息)| 20. 有效的括号 、1047. 删除字符串中的所有相邻重复项、150. 逆波兰表达式求值
用栈写确实挺简答的,而且for循环的判断其实没这个复杂,只要满足【st.empty() || s!1.tmp不能设置为int,因为有乘法,范围可能会超过【-32768~32767】,所以设为long型,范围是【-2^31~2^31-1】足够了;3.【stoll】方法,可以将string转longlong,【stol】可以将string转long,这里long也够用;从今天开始,进入到一个新的阶段,之前我有尝试过用C++写随想录,但是最后止步于此上一天,这又是新的开始了。
2023-07-10 01:06:44
94
原创 代码随想录算法训练营第17期第10天 | 理论基础 、232. 用栈实现队列、225. 用队列实现栈
重点还是掌握栈的用法,而且用一个栈就足够了,这题也确实不难。我好像记得怎么写,不知道这个是好事,还是坏事。
2023-07-09 15:14:57
198
原创 代码随想录算法训练营第17期第9天 | 28. 找出字符串中第一个匹配项的下标、字符串:总结篇、 双指针回顾
28. 找出字符串中第一个匹配项的下标459. 重复的子字符串
2023-07-06 23:16:59
38
原创 代码随想录算法训练营第17期第8天 | 344. 反转字符串、541.反转字符串 II、剑指 Offer 05. 替换空格、151. 反转字符串中的单词
做出来了,但是好像是取巧的方法,容我学习一下第二种方法(这里犯了一个错误,就是空格只能用单引号来表示)其实只要每隔2k个字符处理前k个字符就可以了,最后如果不足k个单独计算。直接使用swap和自加自减,我好像懂了一点点C++的用法了。第二种会了,记住C++中扩充字符长度的方法。还挺难的,还没写出来。
2023-07-06 07:54:48
96
原创 代码随想录算法训练营第17期第7天 | 454. 四数相加 II、383. 赎金信、15. 三数之和
解答方式如下:把四个列表转换成两个列表,然后再计算,我这里还是写繁琐了。我觉得这个更多的是藉此了解map的用法吧,贴一下贴一下;这里也可以直接使用int数组的方式,毕竟26个字符嘛。哇撒,学到了一种新的遍历方式,值得记录。还有点问题,没去重,让我想想。
2023-07-04 08:24:00
69
原创 代码随想录算法训练营第17期第6天 | 哈希表理论基础、242. 有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和
需要看一看map等数据结构的用法
2023-07-03 02:43:30
33
原创 代码随想录算法训练营第17期第4天(5休息) | 24. 两两交换链表中的节点、19. 删除链表的倒数第 N 个结点、面试题 02.07. 链表相交、142. 环形链表 II
写完我去看了一下卡哥的思路,二者基本一致,不过他多向前移动了一步,所以他的第二个while的条件只要cur!= nullptr就可以了,这个小不同,不影响。判断入口:从头结点出发一个指针,从相遇节点 也出发一个指针,这两个指针每次只走一个节点, 那么当这两个指针相遇的时候就是 环形入口的节点。判断环:快慢指针,每当慢指针前进一步,快指针前进两步。如果快指针遇到空指针,说明无环;如果快指针遇到慢指针,说明存在环。这题不是很难,目前除了从【.】变成了【->】之外,python和C++也没啥区别。
2023-07-02 16:07:04
68
原创 代码随想录算法训练营第17期第3天 | 203. 移除链表元素、27. 移除元素
有一说一,C++的链表还是比python要繁琐一些的,当然这一题主要是考量虚拟头结点,虽然很久没做,想一想还是可以写出来的。应该是有一个很优雅的写法,我虽然又做出来了,但是明显操作复杂,先记录一下做出来的答案。这一题挺难的,我python一时半会也没写出来,先琢磨琢磨。
2023-06-30 01:22:04
128
原创 代码随想录算法训练营第17期第2天 | 977. 有序数组的平方、209. 长度最小的子数组、59. 螺旋矩阵 II
代码随想录算法训练营第17期第2天 | 977. 有序数组的平方、209. 长度最小的子数组、59. 螺旋矩阵 II
2023-06-29 00:59:54
440
原创 代码随想录算法训练营第17期第1天 | 704. 二分查找、27. 移除元素
代码随想录算法训练营第17期第1天 | 704. 二分查找、27. 移除元素;从头开始,重新再来,但是又不完全一样,之前是擅长的python,现在是C++,能坚持下来么?
2023-06-28 01:18:37
309
原创 代码随想录算法训练营第四期第五十九天 | 503.下一个更大元素II 、42. 接雨水
还要看——2023.01.13接雨水的几个方法都看了,单调栈再看——2023.01.25
2023-01-16 02:05:17
415
原创 代码随想录算法训练营第四期第五十八天 | 739. 每日温度、496.下一个更大元素 I
头好疼,第二题先不看了新年第一天,我把这题写出来了——2023.01.22
2023-01-13 01:24:21
566
原创 代码随想录算法训练营第四期第五十二天 | 300.最长递增子序列 、674. 最长连续递增序列、718. 最长重复子数组
第三题又看了一遍,勉强明白了
2023-01-08 22:41:24
217
原创 代码随想录算法训练营第四期第五十天 | 123. 买卖股票的最佳时机III 、188.买卖股票的最佳时机IV
还不错,跟上了,以及,我完成了两道困难题
2023-01-05 01:01:42
63
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人