這道題答案採用了雙指標,太優雅了。
先看下**:
1view codeclass
solution 10}
11return i + 1;
1213
}14 }
j是快指標,用於掃瞄這個陣列中所有的數,i是慢指標,用於記錄不重複數字的個數。
將陣列nums[j]與nums[i]進行比較,如果不一樣,計數i+1,那麼此時需要將nus[j]的值
賦給「新陣列」中第i個元素的值,最後掃瞄完返回i+1就是新陣列的長度。
下面看一道類似的題:
這道題和上面那道題思路是一樣的,都是採用了雙指標的方法。
同樣的,用j來遍歷陣列的數,用i來記錄陣列中的有效數字。
在迴圈中,如果數字和給定的val值不同,則將數值賦給nums[i],並將
計數加一。
**如下:
1view codeclass
solution 11}
12return
i;13
}14 }
26 刪除排序陣列中的重複項
給定乙個排序陣列,你需要在原地刪除重複出現的元素,使得每個元素只出現一次,返回移除後陣列的新長度。不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 o 1 額外空間的條件下完成。給定陣列 nums 1,1,2 函式應該返回新的長度2,並且原陣列 nums 的前兩個元素被修改為1 2你不需要考...
26 刪除排序陣列中的重複項
給定乙個排序陣列,你需要在原地刪除重複出現的元素,使得每個元素只出現一次,返回移除後陣列的新長度。不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 o 1 額外空間的條件下完成。示例 1 給定陣列 nums 1,1,2 函式應該返回新的長度 2,並且原陣列 nums 的前兩個元素被修改為 1...
26 刪除排序陣列中的重複項
給定乙個排序陣列,你需要在原地刪除重複出現的元素,使得每個元素只出現一次,返回移除後陣列的新長度。不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 o 1 額外空間的條件下完成。示例 1 給定陣列 nums 1,1,2 函式應該返回新的長度2,並且原陣列 nums 的前兩個元素被修改為1,2...