題目描述:給定乙個排序陣列,你需要在 原地 刪除重複出現的元素,使得每個元素只出現一次,返回移除後陣列的新長度。
不要使用額外的陣列空間,你必須在 原地 修改輸入陣列 並在使用 o(1) 額外空間的條件下完成。
思路:1、如果陣列為空或者長度為0直接返回0。設定i,j分別指向安排好的部分的尾結點和當前需要判斷的節點,r是每次更新陣列後的陣列新的長度。
2、雙指標法,i是安排好的部分的尾結點,讓j一直往前走,一旦與i位置的值不同,就把j位置上的數值納入安排好的部分,最後返回i+1,因為陣列是從0開始計數字置的。
**展示:
1、
/**
* @classname solution
* @description
* @author administrator
* @date 2020/6/1 22:24
* @version 1.0
**/class solution
r = r - t;}}
return r;
}}
2、
/**
* @classname solution1
* @description
* @author administrator
* @date 2020/6/1 22:38
* @version 1.0
**/public class solution1
int i = 0;
for (int j = 1; j < nums.length; j++)
}return i + 1;
}}
刪除排序陣列中的重複項
題目描述 給定乙個排序陣列,你需要在原地刪除重複出現的元素,使得每個元素只出現一次,返回移除後陣列的新長度。不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 o 1 額外空間的條件下完成。示例 給定陣列 nums 1,1,2 函式應該返回新的長度2,並且原陣列 nums 的前兩個元素被修改為...
刪除排序陣列中的重複項
給定乙個排序陣列,你需要在原地刪除重複出現的元素,使得每個元素只出現一次,返回移除後陣列的新長度。不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 o 1 額外空間的條件下完成。示例 1 給定陣列 nums 1,1,2 函式應該返回新的長度 2,並且原陣列 nums 的前兩個元素被修改為 1...
刪除排序陣列中的重複項
給定陣列 nums 1,1,2,2 函式應該返回新的長度 2,並且原陣列 nums 的前兩個元素被修改為 1,2。你不需要考慮陣列中超出新長度後面的元素。給定 nums 0,0,1,1,1,2,2,3,3,4 函式應該返回新的長度 5,並且原陣列 nums 的前五個元素被修改為 0,1,2,3,4。...