- 博客(9)
- 收藏
- 关注
原创 代码随想录算法训练营Day8|344.反转字符串541. 反转字符串II卡码网:54.替换数字151.翻转字符串里的单词卡码网:55.右旋转字符串
151.翻转字符串里的单词。卡码网:55.右旋转字符串。541. 反转字符串II。卡码网:54.替换数字。
2024-05-17 12:30:52
448
原创 代码随想录算法训练营Day6 | 242.有效的字母异位词 349. 两个数组的交集 202. 快乐数 1. 两数之和
但直接使用set 不仅占用空间比数组大,而且速度要比数组慢,set把数值映射到key上都要做hash计算的。不要小瞧 这个耗时,在数据量大的情况,差距是很明显的。(即它是一个有效的数组引用),它也可能是一个空数组,这意味着没有元素可以处理或进行交集操作。所以这道题目使用哈希法,来判断这个sum是否重复出现,如果重复了就是return false, 否则一直找到sum为1为止。引用而失败,它仍然会执行后续的集合操作,但实际上没有任何数据需要处理。因此,这个检查是必要的,以确保在你的方法中进一步访问。
2024-05-13 16:49:24
1264
原创 代码随想录算法训练营Day4 | 24. 两两交换链表中的节点 19.删除链表的倒数第N个节点 面试题 02.07. 链表相交 142.环形链表II
虚拟头节点dummy。
2024-05-12 15:31:41
255
原创 代码随想录算法训练营Day3 | 203.移除链表元素 707.设计链表 206.反转链表
原链表中 == target的值 --- pre = pre.next跳过cur(target),cur前进一位。= target的值 --- pre/cur依次前进一位,不改变任何。= target的值 --- 复制粘贴至新数组。注意:当index不在合理范围内,都需要return。注意:各个方法遍历范围的符号
2024-05-10 18:06:24
163
原创 代码随想录算法训练营Day2 | 977.有序数组的平方 209.长度最小的子数组 59.螺旋矩阵II
先为最小值赋一个int类型的最大值,左右指针均初始为0,右指针遍历数组并one by one累加数值,直到连续数组满足target值,算出目前满足条件的连续数组长度,与最小长度比较,更新最小值,再向右移动窗口一位...因为nums数组是按非递减顺序排列的数组,因此按照绝对值越大平方值越大的规则来看,最大值只会出现在nums数组两端的值,那么依次比较,并倒序赋较大值给新数组就好了。最后将最小值与初始最大值进行比较得出结果。
2024-05-09 17:33:23
780
原创 代码随想录算法训练营Day1 | 704.二分查找 35.搜索插入位置 34.在排序数组中查找元素的第一个和最后一个位置 27.移除元素
然后,在这个值的基础上分别向左和向右one by one的搜索数组中等同于target的值,扩大范围。首先,把二分查找写成一个独立的function,用于找出数组中某个等同于target的值。其实left或者right都可以,因为最后跳出循环的时候left是等于right的。这是快慢指针法,规避了两个for循环的弊端,时间复杂度为O(n)。方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。同样也是二分查找的思路,不过最后插入的位置需要注意一下。本题的特点是给定的数组中会有连续相同的多个值。
2024-05-08 18:11:48
312
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人