Remove Duplicates from Sorted Array II
来自 <https://leetcode.com/problems/remove-duplicates-from-sorted-array-ii/>
Follow up for "Remove Duplicates":
What if duplicates are allowed at most twice?
For example,
Given sorted array nums = [1,1,1,2,2,3],
Your function should return length = 5, with the first five elements of nums being 1, 1, 2, 2 and 3. It doesn't matter what you leave beyond the new length.
题目解读:
上接“Remove Duplicates”,如果每个重复的元素最多允许重复两次呢?例如给定一个有序数组nums=[1,1,1,2,2,3],函数运行结果返回5,并且数组中的前五个元素为1,1,2,2,3.
解析:在原来的程序基础之上加一个计数器count的功能,如果count大于2,则删除后面重复的元素,否则继续遍历数组。
Java代码:
public static int removeDuplicates(int[] nums) { /** * k 用来记录当前位置和前一个非重复元素之间的相隔元素个数 */ int k=0; /** * 用来记录当前元素的重复个数 */ int count=1; for (int i=1; i<nums.length; i++) { /** * 如果第i-1个元素和第i个元素相同并且为重复元素,则当前位置 * 和前一个非重复元素间的间隔加1 */ if((nums[i-1] == nums[i]) && (count>=2)) { k++; continue; } else { if(nums[i-1] == nums[i]) { count++; } else { count=1; } nums[i-k] = nums[i]; } } return nums.length-k; }
算法性能:
相关推荐
javascript js_leetcode题解之80-remove-duplicates-from-sorted-array-ii.js
c c语言_leetcode 0026_remove_duplicates_from_sorted_array.zip
c语言入门 C语言_leetcode题解之26-remove-duplicates-from-sorted-array.c
js js_leetcode题解之26-remove-duplicates-from-sorted-array.js
python python_leetcode题解之080_Remove_Duplicates_from_Sorted_Array_II
c c语言_leetcode题解之0080_remove_duplicates_from_sorted_array_ii.zip
"LeetCode Remove Duplicates from Sorted Array解决方案" 本文将详细介绍 LeetCode 中的 Remove Duplicates from Sorted Array 解决方案,包括问题描述、解决方案和关键知识点。 问题描述: 给定一个排序的数组 ...
java入门 java_leetcode题解之026_Remove_Duplicates_from_Sorted_Array
26.Remove_Duplicates_from_Sorted_Array删除有序数组中的重复项【LeetCode单题讲解系列
- **2.1.2 Remove Duplicates from Sorted Array II** - 与上一题类似,但允许每个元素最多出现两次。 - **2.1.3 Search in Rotated Sorted Array** - 给定一个旋转后的有序数组,找到某个元素的位置。 - 实现...
leetcode从重复数组中删除重复项 给定一个已排序的数组nums,就地删除重复项,以使每个元素仅出现一次并返回新的长度。 不要为另一个数组分配额外的空间,必须通过使用O(1)额外的内存就地修改输入数组来做到这...
- Remove Duplicates from Sorted Array II: 删除排序数组中的重复项,使得每个元素最多出现两次。 - Search in Rotated Sorted Array II: 假设按照升序排序的数组在预先未知的某个点上进行了旋转,该问题要求在旋转...
颜色分类leetcode My Leetcode Problems Solutions Using javascript(ES6) 1 Two Sum 两数之和 5 Longest Palindromic Substring 最长回文子串 7 Reverse Integer 整数反转 9 Palindrome Number 回文数 11 Container...
remove-duplicates-from-sorted-array 移除元素 remove-element 搜索插入位置 search-insert-position 最大子序和 maximum-subarray 加一 plus-one 合并两个有序数组 merge-sorted-array 杨辉三角 pascals-triangle ...
26.Remove Duplicates from Sorted Array 53.Maximum Subarray 70.Climbing Stairs 121.Best Time to Buy and Sell Stock 122.Best Time to Buy and Sell Stock II 123.Best Time to Buy and Sell Stock III 141....
leetcode-goMy solution to LeetCode problems using GolangProblems 题库Array 数组NoTitle题名DifficultyStatus11Container With Most Water盛最多水的容器MediumSolved26Remove Duplicates from Sorted Array删除...
- **在旋转排序数组中搜索 II/Search in Rotated Sorted Array II**: 当数组中存在重复元素时,在被旋转过的排序数组中搜索给定数字。 #### 高级算法技巧 - **数学与位操作(Math and Bit Manipulation)**: 利用数学...
83.删除排序链表中的重复元素 (Remove Duplicates from Sorted List) 88.合并两个有序数组 (Merge Sorted Array) 100.相同的树 (Same Tree) 104.二叉树的最大深度 (Maximum Depth of Binary Tree) 118.杨辉三角 ...
lru缓存leetcode leetcode 1. Two Sum 2. Add Two Numbers 3. Longest Substring Without Repeating Characters 4. Median of Two Sorted Arrays 5. Longest Palindromic Substring 7. Reverse Integer 9. ...