LeetCode
海绵不是宝宝69
这个作者很懒,什么都没留下…
展开
-
轮转数组.
2、直接使用了一个int指针指向nums数组,导致后面的赋值把前面的元素给覆盖掉了。主要利用了k和轮转后各元素位置之间的关系,当然这里我写的比较复杂。1、 最开始第一个while中,nums数组存在越界。原创 2024-01-30 14:19:01 · 129 阅读 · 1 评论 -
删除有序数组中的重复项 II
3、依次遍历数组,如果对当前元素和前一个元素相等,并且次数小于2,就赋值到temp,并i++,往后遍历。(这里之所以判断条件i < 2是因为,我们是将元素第一次出现赋值到temp后,才将i变成1,再次出现时判断时i = 1,满足条件,第三次出现时i的值为2 )1、这里我首先定义了一个指针temp指向nums数组,分别三个int变量num、count、i分别用来遍历数组,记录删除后当前数组元素个数。4、当前元素和前一个不相等,说明第一次出现,将i变为初始值1,接着往后遍历。原创 2024-01-29 12:59:19 · 471 阅读 · 0 评论 -
26. 删除有序数组中的重复项
思路: 因为待删除数组是有序递增的,那么要删除重复项,就可以利用递增的特点,如果有重复项,那么第一次出现的数字前面和当前项不等,后面一项才相等,那么我们可以从数组的第二个元素开始遍历,如果nums[i] = nums[i - 1]那么就有重复,只用i++,否则赋值给temp,count++,直至遍历至nums的最后一个元素原创 2024-01-22 19:43:57 · 339 阅读 · 1 评论 -
27. 移除元素
思路: 定义一个指针变量指向原数组nums,逐个遍历nums,不等于val就让temp等于nums,这样就可以既去除val又统计去除val后数组长度原创 2024-01-22 19:36:18 · 471 阅读 · 0 评论 -
合并两个有序数组
思路1(代码如下): 1、首先,定义一个中间数组temp去存储两数组比较后的结果 2、依次遍历nums1和nums2,比较当前索引所指的值得大小,将小的放到temp数组中,直到有一个数组遍历完了 3、此时有一个数组遍历完了,另一个还没遍历完的数组剩余元素的值都大于等于已遍历完数组的最后一个元素的值,将没遍历完的元素直接接在temp数组后面就行了 4、将temp数组的各元素值,复制给nums1原创 2024-01-22 13:16:57 · 577 阅读 · 0 评论