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/
     *
     *
     * 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));
        }
    }
    
  • 相关阅读:
    (转).NET 多线程编程
    [WAP]WML学习笔记总结
    [计划]2010年1月的工作学习计划
    [计划]11月&12月学习与工作计划
    [HTTP]HTTP协议学习总结第一弹:RFC2616初读总结
    [培训总结]海量服务培训总结
    [随想]忙碌的2010
    Android电源管理
    Android 1.5: 飞行模式分析
    android JNI 调用
  • 原文地址:https://www.cnblogs.com/sunshine-2015/p/7752967.html
Copyright © 2011-2022 走看看