zoukankan      html  css  js  c++  java
  • leetcode — remove-duplicates-from-sorted-array

    import java.util.Arrays;
    
    /**
     * Source : https://oj.leetcode.com/problems/remove-duplicates-from-sorted-array/
     *
     * Created by lverpeng on 2017/7/12.
     *
     * Given a sorted array, remove the duplicates in place such that each element appear
     * only once and return the new length.
     *
     * Do not allocate extra space for another array, you must do this in place with constant memory.
     *
     * For example,
     * Given input array A = [1,1,2],
     *
     * Your function should return length = 2, and A is now [1,2].
     */
    public class RemoveDuplicates {
    
        /**
         *
         * 因为是有序的,所以如果有重复的元素一定是相邻的,只要判断相邻的不相等的个数就知道不重复的元素个数
         *
         * @param num
         * @return
         */
        public int remove (int[] num) {
            int pos = 0;
            for (int i = 0; i < num.length - 1; i++) {
                if (num[i] != num[i + 1]) {
                    num[pos] = num[i];
                    pos++;
                }
            }
            System.out.println(Arrays.toString(num));
            // 另外加上最后一个元素
            return pos + 1;
        }
    
        public static void main(String[] args) {
            RemoveDuplicates removeDuplicates = new RemoveDuplicates();
            int[] arr = new int[]{1,1,2};
            int[] arr1 = new int[]{1,1,1,2};
            int[] arr2 = new int[]{1,1,22,22,22,33};
            System.out.println(removeDuplicates.remove(arr));
            System.out.println(removeDuplicates.remove(arr1));
            System.out.println(removeDuplicates.remove(arr2));
        }
    }
    
  • 相关阅读:
    【POJ3069】Saruman's Army
    【POJ2453】An Easy Problem
    【POJ2386】Lake Counting
    【POJ2251】Dungeon Master
    【POJ1664】放苹果
    【基础】枚举学习笔记
    算法时空复杂度【OI缩水版】
    【POJ2018】Best Cow Fences
    【POJ3889】Fractal Streets(分形图)
    【BZOJ2296】随机种子(构造)
  • 原文地址:https://www.cnblogs.com/sunshine-2015/p/7406757.html
Copyright © 2011-2022 走看看