自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 算法训练营第七天| 344.反转字符串 541. 反转字符串II 卡码网:54.替换数字

初始思路:检查每一个s[i]如果在'a''z'之间,就跳过,如果不在的话,就是数字,就替为‘number’,python中可以转为列表之后直接替换,c++中需要用replace函数来替换 s.replace(i, 1, "number");这里可以str是不可改变的对象,所以可以先转为list,之后再join。初始思路:这道题是以上一个题目为基础的,我的初始思路是很混乱的,我首先想到了快慢指针,感觉不太方便。如果元素个数为奇数,交换完最后一组后,left和right同时到达中位数,不需要交换。

2024-10-03 13:57:35 385

原创 算法训练营第六天| 454.四数相加II 383. 赎金信 15. 三数之和 18. 四数之和

初始思路:和之前判断两个字符是不是字母异位词一样的思路,我这次还是用了c++中的unordered_map,用了python中的dict,对应的value为个数,但是也成功了。循环内容是:如果和大于0,right--,如果小于0,left++,如果等于0,就先记录这个答案,然后移动left和right(初始思路:我觉得很麻烦的一个点在于三个数的位置不可以相同,就算两个数为一组,位置不一样的进行了hash,但是在第三个数判断的时候,再去排除也很麻烦。这里非常重要,也是关于bc去重的,非常厉害的一段代码。

2024-10-01 16:29:13 485

原创 算法训练营第五天| 242.有效的字母异位词 349. 两个数组的交集 202. 快乐数 1. 两数之和

还有就是需要知道怎么判断会无限循环,永远不为1,这里就要用到哈希表,每当得到一个sum,判断是否为1,是的话就return,不是的话就判断是不是之前出现过,如果之前出现过,则代表会无限循环,如果没出现过,则存下,然后继续求。初始思路:我之前做过这道题,就是用c++中的unordered_map和python中的dict,每搜索一个值,就判断一下target-nums在不在哈希表中,在的话就可插入答案,然后返回,不在的话就把这个值和他的索引值存进去,之后可以继续检查。

2024-09-30 15:54:16 631

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

初始思路:我初始想的是重点在于地址,从某个地址开始,之后都是一样的地址。首先,如果有环,一定会在环里相遇,这是毋庸置疑的,因为两个指针都会在环里运动,而fast的相对速度是1,slow相对速度为0,所以相当于fast在追赶静止的slow。看gpt纠正代码之后的想法:他做的很巧妙,首先我们在进入循环的时候已经确定了left和right是非空的了,之后移动完之后,p的赋值为left,一定非空,left的赋值为p->next,不一定非空,但是赋值合法,之后right需要由left进行赋值,这时候就需要检查了。

2024-09-29 13:10:41 647

原创 算法训练营第三天| 203.移除链表元素、707.设计链表、206.反转链表

这种情况下,while(cur),就移动,重点是after = after->next,因为进入的时候并没有判断after,所以可能after为空,然后在这里我加了一个条件,if(after->next),才after = after->next,但是这样会出现什么问题呢,我现在也不知道。个人思路:首先令head符合条件,之后判断这个head是否为空,空的话返回空节点;cur = head->next,只要cur非空,就判断cur的值的情况,如果需要删除,就改变pre->next和cur;

2024-09-28 14:53:31 485

原创 算法训练营第二天| 209.长度最小的子数组、59.螺旋矩阵II

不在for中更新左右指针,而是在不同情况下进行不一样的更新。

2024-09-26 21:47:16 535

原创 算法训练营第一天| 704. 二分查找、27. 移除元素

看完讲解视频之后的想法:我虽然做出了这道题目,但是我认为我的思考不够深入,没有意识到这个问题的核心是区间保持。但是我没有考虑到需要将没有遍历完的那个遍历完。看了一部分讲解视频之后:首先可以考虑遍历,当发现目标元素的时候,再嵌套循环,将后边的所有元素移上来。最重要的是采用双指针,slow指针是用于记录下一个非删除元素所在的位置,而fast则用于寻找非删除元素,很巧妙的思想。看了讲解视频之后:我认为他的思路很不一样,原来是可以从大到小来填充,这样对边界情况的处理会简单很多,也少了很多我的方法会出现的特殊情况。

2024-09-25 20:37:23 305

空空如也

空空如也

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

TA关注的人

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