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));
        }
    
    }
  • 相关阅读:
    html转义
    mongodb 数据库 基础使用
    xpath基本语法
    HTTP
    JavaScript笔记6-数组新方法
    JavaScript笔记5-事件
    JavaScript笔记3--标识符和保留字
    JavaScript笔记4-数组
    jquery笔记1--选择器
    JavaScript笔记2
  • 原文地址:https://www.cnblogs.com/null00/p/5094791.html
Copyright © 2011-2022 走看看