leetcode 26 --- removeDuplicates
生活随笔
收集整理的這篇文章主要介紹了
leetcode 26 --- removeDuplicates
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 題目
給你一個有序數組 nums ,請你 原地 刪除重復出現的元素,使每個元素 只出現一次 ,返回刪除后數組的新長度。
不要使用額外的數組空間,你必須在 原地 修改輸入數組 并在使用 O(1) 額外空間的條件下完成。
2 思路
此題要利用快慢針的思想, 通過遍歷快針, 如果發現快針跟前一個元素不同, 那么說明唯一元素的數量+1, 然后把這個唯一元素放到寫到數組慢針的位置, 也就實現了把數組中所有唯一元素都放到了前面.
3 代碼
int removeDuplicates(vector<int>& nums) {int nums_size = nums.size();if(nums_size < 2)return nums_size;int fast = 1;int slow = 1;while (fast < nums_size) {if (nums[fast] != nums[fast - 1]) {if (fast > slow)nums[slow] = nums[fast];slow ++;}fast ++;}return slow; }?
總結
以上是生活随笔為你收集整理的leetcode 26 --- removeDuplicates的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android获取图片格式,Androi
- 下一篇: 树莓派 python spi,树莓派测试