- 博客(7)
- 收藏
- 关注
原创 代码随想录算法训练营第八天|344.反转字符串,541. 反转字符串II,替换数字,右旋字符串
本道题应该想到的是双指针法,且新字符串从最后开始更改,这样就可以避免不停地更改后方。同时,学到的还有resize函数,可以更改字符串的size,好神奇(不是)。学习到了一个新的函数reverse,可以反转字符串,但是注意他的使用区间。这道题难度在于如何删除多余的空格,以及反转的各种边界问题。先全部反转,再反转部分。也是一个很简单的逻辑。我真的搞不清楚边界该怎么写啊啊啊啊QAQ。难一点就不太会了QAQ。
2023-12-26 00:13:48
248
1
原创 代码随想录算法训练营|第454题.四数相加II,383. 赎金信,第15题. 三数之和
本题使用哈希表会比较麻烦,可以使用双指针法,重点在于如何去重。本题可以使用数组,记录下每个字母的次数,然后与目标一一比对。本题使用map可以将存放相加的值与出现的次数。很有意义的题目,很能锻炼算法的能力。
2023-12-22 23:08:22
194
原创 代码随想录算法训练营第六天|242.有效的字母异位词,349. 两个数组的交集,第202题. 快乐数,1. 两数之和
本题依旧是使用哈希表unordered_set,先用函数算出各位数字平方的总和,再插入哈希表,查找是否有相同的,若存在相同数字便陷入了无限的循环。看到求元素是否出现过,使用哈希表。本题交集没有重复且不要求顺序,故而可以使用unordered_set。暴力的做法十分简单,但时间复杂度高。可以使用哈希表unordered_map。总感觉拖了很久啊,希望周末的时候能补一下。思路很简单,先sort排序,再一个个比对。
2023-12-20 23:38:11
196
1
原创 代码随想录算法训练营第四天|24. 两两交换链表中的节点,19.删除链表的倒数第N个节点,面试题 02.07. 链表相交
设置开始的虚拟节点,将第一个节点与第三个节点都记录下来,让虚拟节点连接第二个节点,第二个节点连接第一个节点,将三次next的节点重新设置为一开始记录的第三个节点,再更新cur的位置。建议画图,方便理解。需要注意的是,fast=fast->next这一行,因为slow要删除的是上一个节点。本题要想到将末尾的位置对齐并且找到位数差值,这样一旦检测到相同就可直接返回。第四题之后再补吧,写不齐了呜呜呜......
2023-12-18 21:33:27
203
原创 代码随想录算法训练营第三天|203.移除链表元素
这种方法很容易就能想到,但是在第二个while处,使用c->next的意思是不再处理头部节点。拖了很久的第三天训练终于结束了,没有按时完成比较可惜,希望之后能够按时打卡。本题报错了很多次,最后实在搞不懂哪里有错,只能对着题解写。本题是将链表翻转,不需要重新定义,只需要将每一个连接处的连接关系翻转就好。
2023-12-17 22:32:21
215
1
原创 代码随想录算法训练营第二天|977.有序数组的平方 ,209.长度最小的子数组,59.螺旋矩阵II
第二天的练习感觉开始上强度了,数组也并不简单,要学的还有很多。59并不难,虽然有思路但是在处理边界问题上越写越乱,到最后迫不得已翻了题解。209也是有思路但是越写越乱,到最后根本无法达成自己原本的想法。
2023-12-15 23:05:52
206
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅