每天一遍,快樂再見!LeetCode(8)刪除排序陣列中的重複項
給定一個排序陣列,你需要在 原地 刪除重複出現的元素,使得每個元素只出現一次,返回移除後陣列的新長度。
不要使用額外的陣列空間,你必須在 原地 修改輸入陣列 並在使用 O(1) 額外空間的條件下完成。
示例 1:
給定陣列 nums = [1,1,2],
函式應該返回新的長度 2, 並且原陣列 nums 的前兩個元素被修改為 1, 2。
你不需要考慮陣列中超出新長度後面的元素。
示例 2:
給定 nums = [0,0,1,1,1,2,2,3,3,4],
函式應該返回新的長度 5, 並且原陣列 nums 的前五個元素被修改為 0, 1, 2, 3, 4。
你不需要考慮陣列中超出新長度後面的元素。
說明: 為什麼返回數值是整數,但輸出的答案是陣列呢?
請注意,輸入陣列是以「引用」方式傳遞的,這意味著在函式裡修改輸入陣列對於呼叫者是可見的。
你可以想象內部操作如下:
// nums 是以“引用”方式傳遞的。也就是說,不對實參做任何拷貝
int len = removeDuplicates(nums);\
在函式裡修改輸入陣列對於呼叫者是可見的。
// 根據你的函式返回的長度, 它會列印出陣列中該長度範圍內的所有元素。
for (int i = 0; i < len; i++) {
print(nums[i]);
}
Related Topics 陣列 雙指標
? 1678 ? 0
class Solution {
public int removeDuplicates(int[] nums) {
// 如果是空陣列就返回
if (nums == null || nums.length == 0) {
return 0;
}
// 用來指向最後的不重複項
int p = 0;
// 用於遍歷陣列
int q = 1;
// 迴圈遍歷一下陣列
while (q < nums.length) {
// 當遇到不一樣的時就將不重複項放到 原本不重複項的後面一個 ,指標後移
if (nums[p] != nums[q]) {
nums[p + 1] = nums[q];
// 不重複項指標後移
p++;
}
// 用於遍歷
q++;
}
// 最後不重複項的下標,再加一個就是長度了
return p + 1;
}
}
}
相關文章
- 刪除排序陣列中的重複項排序陣列
- Leetcode[陣列] 26. 刪除排序陣列中的重複項LeetCode陣列排序
- LeetCode之從排序陣列中刪除重複項-SwiftLeetCode排序陣列Swift
- 題目:刪除排序陣列中的重複項排序陣列
- leetcode-刪除排序陣列中的重複項+移除元素LeetCode排序陣列
- Golang刷LeetCode 26.刪除排序陣列中的重複項GolangLeetCode排序陣列
- [12][02][26] 刪除排序陣列中的重複項排序陣列
- LeetCode每日一題:刪除排序陣列中的重複項(No.26)LeetCode每日一題排序陣列
- 每日一題 [26] 刪除排序陣列中的重複項每日一題排序陣列
- 刪除排序陣列中的重複數字排序陣列
- javascript如何刪除陣列中重複的項JavaScript陣列
- 刪除有序陣列中的重複項 II陣列
- LeetCode 26 號問題 刪除陣列中的重複項LeetCode陣列
- c#刪除有序陣列中的重複項C#陣列
- 每日一道演算法:刪除排序陣列中的重複項演算法排序陣列
- js刪除陣列中重複項的程式碼例項JS陣列
- js刪除陣列中重複的元素JS陣列
- js刪除陣列中的重複元素JS陣列
- 0026-刪除有序陣列中的重複項陣列
- javascript刪除陣列中重複元素程式碼例項JavaScript陣列
- 【演算法-初級-陣列】刪除排序陣列中的重複項(多語言版實現)演算法陣列排序
- 讓我們一起啃演算法----刪除排序陣列中的重複項演算法排序陣列
- leetcode面試經典150-26. 刪除有序陣列中的重複項LeetCode面試陣列
- js如何刪除陣列中重複的值JS陣列
- 每日一道演算法題--leetcode 26--刪除排序陣列中重複項--python演算法LeetCode排序陣列Python
- javascript刪除陣列重複元素程式碼例項JavaScript陣列
- js刪除陣列重複元素程式碼例項JS陣列
- JavaScript 刪除陣列重複元素JavaScript陣列
- JavaScript陣列刪除重複元素JavaScript陣列
- javascript刪除陣列中的重複元素程式碼JavaScript陣列
- 從未排序的連結串列中刪除重複項排序
- 我用演算法學golang(刪除有序陣列中的重複項 )演算法Golang陣列
- JavaScript陣列刪除重複內容JavaScript陣列
- javascript刪除陣列重複元素程式碼JavaScript陣列
- js利用正規表示式刪除陣列中的重複元素JS陣列
- LeetCode 精選TOP面試題 演算法題 26.刪除排序陣列中的重複項 -演算法&測試-easy模式LeetCode面試題演算法排序陣列模式
- leetcode-82:刪除排序連結串列中重複的元素-iiLeetCode排序
- 如何在不使用Java Collection API的情況下從陣列中刪除重複項JavaAPI陣列