1. 程式人生 > 實用技巧 >Leecode no.26 刪除排序陣列中的重複項

Leecode no.26 刪除排序陣列中的重複項

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);

}

}