- 博客(8)
- 收藏
- 关注
原创 代码随想录算法训练营|344.反转字符串● 541. 反转字符串II● 剑指Offer 05.替换空格● 151.翻转字符串里的单词● 剑指Offer58-II.左旋转字符串
字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。之前python刷的时候遇过这个题,直接split一两行解决了,这会用c++还调库函数,才明白这题难度为什么是中等。如果两个单词间有多余的空格,反转后的字符串需要将单词间的空格减少到仅有一个。反转后的字符串中不能存在前导空格和尾随空格。是由非空格字符组成的字符串。
2023-06-04 22:54:53 104 1
原创 代码随想录算法训练营|● 15. 三数之和 ● 18. 四数之和 !
自己做不出来的,就先力求精读一遍题解吧,a,b,c的去重思路很重要。不同的三元组是 [-1,0,1] 和 [-1,-1,2]。今天的题自己都没做出来,题目做了标记日后再看要好好复习下。注意,输出的顺序和三元组的顺序并不重要。请你找出并返回满足下述全部条件且。答案中不可以包含重复的三元组。唯一可能的三元组和不为 0。唯一可能的三元组和为 0。,判断是否存在三元组。剪枝操作再好好理解下。
2023-06-01 23:54:05 133 1
原创 代码随想录算法训练营| 454.四数相加II 383. 赎金信
请你计算有多少个元组。跟着卡尔是视频做了一遍。基本上这我就当笔记用了。注意<>的使用,注意;
2023-06-01 02:00:40 109 1
原创 代码随想录算法训练营day 8|349. 两个数组的交集 ● 202. 快乐数● 1. 两数之和
使用哈希表来解决问题,时间复杂度为 O(n),比暴力求解(时间复杂度 O(n2))更优秀。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。c++基础比较差,基本是跟着卡尔大佬的讲解在学。输出结果中的每个元素一定是。整数,并返回它们的数组下标。你可以想出一个时间复杂度小于。编写一个算法来判断一个数。你可以按任意顺序返回答案。[4,9] 也是可通过的。,请你在该数组中找出。
2023-05-30 23:42:59 128 1
原创 代码随想录算法训练营第六天|242.有效的字母异位词
如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况?卡尔大佬直接用了ASCII做哈希表,也不用一个一个的比,直接出差值,确实妙啊。第一眼,这还不简单嘛,直接set不就好了,结果竟然没过。准备转c++了,第四天忙着搞环境,别骂了别骂了后续会补上的。好吧要是这种情况那确实没办法,还得慢慢来用上哈希表。太晚了,先学这么多,欠的后续一定都补上。中每个字符出现的次数都相同,则称。,编写一个函数来判断。
2023-05-29 23:37:34 79 1
原创 代码随想录代码训练营第三天|数组理论基础,704. 二分查找,27. 移除元素
/ 链表变为 1->2->3。// 现在,链表变为 1->3。以指示链表中的上一个节点。假设链表中的所有节点下标从。你可以选择使用单链表或者双链表,设计并实现自己的链表。没吃透,自己写不出来,只能先精读一下别人的代码。,请你反转链表,并返回反转后的链表。是指向下一个节点的指针/引用。如果是双向链表,则还需要属性。,请你删除链表中所有满足。给你一个链表的头节点。
2023-05-26 23:24:25 122 1
原创 代码随想录算法训练营第二天| 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II
第二次还是没当面自己撕出来,不过这次好像理解滑动窗口了。虽然这个代码过了,但是有ChatGPT帮我改过,我忏悔。看了眼代码随想录的思路反应过来,从两边向中间走就好了。平方后,数组变为 [16,1,0,9,100]排序后,数组变为 [0,1,9,16,100]第一时间还没想出来,总想从中间向两边出发。所有元素,且元素按顺时针顺序螺旋排列的。如果不存在符合条件的子数组,返回。这是做过一次的题了,但当时没太理解。是该条件下的长度最小的子数组。组成的新数组,要求也按。边界条件太绕了,快改吐了。
2023-05-26 00:40:55 76 1
原创 代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素
给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。例如,函数返回的新长度为 2 ,而 nums = [2,2,3,3] 或 nums = [2,2,0,0],也会被视作正确答案。数组nums下标从0开始,len()取出的长度是最大下标+1,nums[a,b]是左闭右开,取值从a到b-1,放len()的话刚好不用-1。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
2023-05-24 23:42:22 154 4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人