1. 删除有序数组中的重复数据

描述

给定一个有序数组,删除数组中的重复数据,要求:

  1. 新数组中的每一个数据只出现1次
  2. 返回新数组的长度
  3. 不能开辟额外的内存空间

举例

给定A = [1,1,2],返回长度 = 2,新数组A'=[1,2]

代码

public class RemDupSorArrayI {
    
    public static int removeDuplicates(int[] nums) {
        if (nums.length == 0) {
            return 0;
        }   
        
        int index = 1;
        for (int i = 1; i < nums.length; i ++) {
            if (nums[i] != nums[index - 1]) {
                nums[index++] = nums[i];        
            }
        }       
        return index;
    }
    
    public static void main(String args[]) {
        int[] nums = {1,1,2,4,6,8,8};
        System.out.println(removeDuplicates(nums));
        
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容