LeetCode刷题【Array】 Remove Duplicates from Sorted Array II

来源:互联网 发布:java编程题及答案 编辑:程序博客网 时间:2024/06/06 08:58

题目:

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 1122 and 3. It doesn't matter what you leave beyond the new length.

解决方法一:Runtime: 1 ms

public class Solution {    public int removeDuplicates(int[] nums) {int count=1;int i =0;int index =0;int sum=0;while(i<=nums.length-1){if(i-1>=0){if(nums[i]==nums[i-1]){count++;if(count<=2){nums[index+1]=nums[i];index++;}}else if(nums[i]!=nums[i-1]){nums[index+1]=nums[i];index++;sum+=count>2?2:count;count=1;}}i++;}return sum+(count>2?2:count);    }}

解决方法二:Runtime: 1 ms

public int removeDuplicates(int[] nums) {    int i = 0;    for (int n : nums)        if (i < 2 || n > nums[i-2])            nums[i++] = n;    return i;}

参考:

【1】https://leetcode.com/

0 0
原创粉丝点击