開始我用的最簡單(最low)的方法:
int
removeduplicates
(int
* nums,
int numssize)
else
i++;}
return numssize;
}
時間複雜度o(n平方)
看了大佬的題解才知道可以用雙指標
/*
演算法概述:雙指標。刪除陣列中的重複元素,其實就是將不重複的元素乙個乙個的
移到陣列左邊。
設定倆指標p和q,乙個在前乙個在後,若q所指元素和p所指相等,則q後移;
若不等,則將q所指元素複製到p+1處,然後q、p均向後移動,直到p移出陣列
*/int
removeduplicates
(int
* nums,
int numssize)
}return p +1;
}
26 刪除排序陣列中的重複
不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 o 1 額外空間的條件下完成。示例 1 給定陣列 nums 1,1,2 函式應該返回新的長度 2,並且原陣列 nums 的前兩個元素被修改為 1,2。你不需要考慮陣列中超出新長度後面的元素。示例 2 給定 nums 0,0,1,1,1,2,2...
26 刪除排序陣列中的重複項
給定乙個排序陣列,你需要在原地刪除重複出現的元素,使得每個元素只出現一次,返回移除後陣列的新長度。不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 o 1 額外空間的條件下完成。給定陣列 nums 1,1,2 函式應該返回新的長度2,並且原陣列 nums 的前兩個元素被修改為1 2你不需要考...
26 從排序陣列中刪除重複項
給定乙個排序陣列,你需要在原地刪除重複出現的元素,使得每個元素只出現一次,返回移除後陣列的新長度。不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 o 1 額外空間的條件下完成。給定陣列 nums 1,1,2 函式應該返回新的長度 2,並且原陣列 nums 的前兩個元素被修改為 1,2。你不...