#LeetCode:26. Remove Duplicates from Sorted Array

灆洢 2018-10-21 01:23:08

利用兩個變數,一個記得不重複元素的數量,一個去巡覽整個陣列找出與前項不同的值。巡覽陣列找到不重複的值後就將該值塞在不重複元素目前數量的位置,然後讓記得不重複元素數量的變數往上增加即可得解。

C++(16ms)

/*******************************************************/
/* LeetCode 26. Remove Duplicates from Sorted Array    */
/* Author: Maplewing [at] knightzone.studio            */
/* Version: 2018/10/21                                 */
/*******************************************************/
class Solution {
public:
  int removeDuplicates(vector<int>& nums) {
    if(nums.empty()) return 0;

    int uniqueCount = 1;
    for(int i = 1 ; i < nums.size() ; ++i){
      if(nums[i] != nums[i-1]){
        nums[uniqueCount] = nums[i];
        ++uniqueCount;
      }
    }
    return uniqueCount;
  }
};

在〈“#LeetCode:26. Remove Duplicates from Sorted Array”〉中有 1 則留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料