![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode之旅
文章平均质量分 51
leo.ao
我信天道酬勤也信命
展开
-
将数组轮转
输入: nums = [1,2,3,4,5,6,7], k = 3。输入:nums = [-1,-100,3,99], k = 2。向右轮转 1 步: [7,1,2,3,4,5,6]向右轮转 2 步: [6,7,1,2,3,4,5]向右轮转 3 步: [5,6,7,1,2,3,4]向右轮转 1 步: [99,-1,-100,3]向右轮转 2 步: [3,99,-1,-100]输出: [5,6,7,1,2,3,4]输出:[3,99,-1,-100]原创 2023-09-10 17:22:50 · 67 阅读 · 0 评论 -
移除相同元素
例如,函数返回的新长度为 2 ,而 nums = [2,2,3,3] 或 nums = [2,2,0,0],也会被视作正确答案。解释:函数应该返回新的长度 5, 并且 nums 中的前五个元素为 0, 1, 3, 0, 4。2.定义两个指针指向数组,然后进行遍历,如果值不相等就nums[b++] = nums[a++],如果值相等,a++跳过相同的元素,以此达到剔除的目的。输入:nums = [0,1,2,2,3,0,4,2], val = 2。输入:nums = [3,2,2,3], val = 3。原创 2023-09-10 13:27:54 · 39 阅读 · 1 评论 -
删除有序数组中的重复项
2.定义两个指针指向数组,相同时其中一个nums[i++],nums[a]指针不动,不同时nums[++a] = nums[i],也就是nums[a]从0开始,只要有不同的就将不同的放在nums[a+1]处(乱序数组无法剔除)更改数组 nums ,使 nums 的前 k 个元素包含唯一元素,并按照它们最初在 nums 中出现的顺序排列。解释:函数应该返回新的长度 5 , 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。输入:nums = [0,0,1,1,1,2,2,3,3,4]原创 2023-09-10 13:36:34 · 49 阅读 · 1 评论 -
删除有序数组中的重复项 II
2.取每个元素遍历相比,第一次相等就说明元素已经出现了两次,将flag置1且将两值保存下来,再相且flag为1,说明元素出现了三次,就将数组元素前移,覆盖掉相同的元素,每遍历一次需要将flag置为0,以防下次遍历时带入错误的flag(乱序数组可剔除)解释:函数应返回新长度 length = 7, 并且原数组的前五个元素被修改为 0, 0, 1, 1, 2, 3, 3。输入:nums = [0,0,1,1,1,1,2,3,3]输出:7, nums = [0,0,1,1,2,3,3]nums 已按升序排列。原创 2023-09-10 14:47:25 · 126 阅读 · 1 评论 -
合并两个有序数组
输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3。定义三个指针,分别指向nums1[m-1],nums2[n-1],nums1[m+n-1]合并结果是 [1,2,2,3,5,6] ,其中斜体加粗标注的为 nums1 中的元素。输入:nums1 = [0], m = 0, nums2 = [1], n = 1。输入:nums1 = [1], m = 1, nums2 = [], n = 0。解释:需要合并 [1,2,3] 和 [2,5,6]。原创 2023-09-10 13:20:22 · 40 阅读 · 1 评论