zoukankan      html  css  js  c++  java
  • LeetCode

    题目:

    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.

    思路:

    向前多判断一步

    package array;
    
    public class RemoveDuplicatesFromSortedArrayII {
    
        public int removeDuplicates(int[] nums) {
            int len = 0;
            if (nums == null || (len = nums.length) < 2) return len;
            int start = 1;
            for (int i = 2; i < len; ++i) {
                if (nums[i] != nums[start] || nums[start] != nums[start - 1])
                {    
                    ++start;
                    nums[start] = nums[i];
                }
            }
            return start + 1;
        }
        
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            int[] nums = { 1,1,1,2,2,3 };
            RemoveDuplicatesFromSortedArrayII r = new RemoveDuplicatesFromSortedArrayII();
            System.out.println(r.removeDuplicates(nums));
        }
    
    }
  • 相关阅读:
    1001.A+B Format(20)
    大一下学期的自我目标
    re模块3
    re模块2
    re模块
    configParser模块
    logging模块
    hashlib模块
    sys模块
    isinstance函数
  • 原文地址:https://www.cnblogs.com/null00/p/5094791.html
Copyright © 2011-2022 走看看