package com.example.demo.leecode;
/**
 * 删除排序数组中的重复项
 * @Date 2020/12/22
 * @author Tang
 *
 * 给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。
 * 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。
 */
public class RemoveDuplicatesFromSortedArray {
    /**
     * result指针负责记录更改后的数组
     * 当数组前后两元素不相等,更新index指针
     * @param nums
     * @return
     */
    public int execute(int[] nums){
        int result = 0;
        if(nums.length == 0){
            return result;
        }
        int temp = nums[0];
        for(int i = 1; i < nums.length; i++){
            if(nums[i] == temp){
                continue;
            }
            result++;
            temp = nums[i];
            nums[result] = temp;
        }
        return result+1;
    }
    public static void main(String[] args) {
        int[] array = {1,1,2};
        int result = new RemoveDuplicatesFromSortedArray().execute(array);
        System.out.println(result);
    }
}