其實這道題不難,但重要的是建立模組思維。
我們把原陣列的每乙個坑位當成乙個模組,這個模組是我們需要乙個乙個的去填滿的,而且要滿足不重複;
另乙個模組就是我們手中的袋子,這個袋子裡裝滿了乙個有序但重複的可用資源;
我們先把袋子裡第乙個元素填入第乙個坑位,然後袋子裡第二元素和剛剛填的元素比較,若相同,直接捨棄,若不同,放入第二個坑位;
就這樣,當我們把手中袋子裡的元素都用完了,就把原陣列去重了;
當然,我們最後還要知道新的陣列是多長?這個簡單,我們只需要在把元素放入坑位的同時,加乙個計數器就行了。
class solution {
public int removeduplicates(int nums) {
int temp=1;
int count=0;
int len = nums.length;
for (int i=1;i模組思想,乙個保守派,乙個躍進派? 其實就是大家說的快慢指標啦,不過我喜歡按自己的理解來--陣列中的模組思想。
LeetCode 26 刪除排序陣列中的重複項
給定乙個排序陣列,你需要在原地 刪除重複出現的元素,使得每個元素只出現一次,返回移除後陣列的新長度。不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 o 1 額外空間的條件下完成。示例 1 給定陣列 nums 1,1,2 函式應該返回新的長度 2,並且原陣列 nums 的前兩個元素被修改為1...
leetcode26 刪除排序陣列中的重複項
給定乙個排序陣列,你需要在原地 刪除重複出現的元素,使得每個元素只出現一次,返回移除後陣列的新長度。不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 o 1 額外空間的條件下完成 示例 1 給定陣列 nums 1,1,2 函式應該返回新的長度 2,並且原陣列 nums 的前兩個元素被修改為1...
LeetCode 26刪除排序陣列中的重複項
給定乙個排序陣列,你需要在原地刪除重複出現的元素,使得每個元素只出現一次,返回移除後陣列的新長度。不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 o 1 額外空間的條件下完成。示例 1 給定陣列 nums 1,1,2 函式應該返回新的長度2,並且原陣列 nums 的前兩個元素被修改為1,2...