LeetCode 27.Remove Element

將陣列內指定的元素移除, 後面的元素往前推
這道題讓我們移除一個陣列中和給定值相同的數字,並返回新的陣列的長度。
(PS:不可以使用另外的陣列來處理,全部的操作都要在同一個陣列中。)

只需要一個變數用來計數,然後遍歷原數組,如果當前的值和給定值不同,就把當前值覆蓋計數變數的位置,並將計數變數加1。


class Solution {
public:
    int removeElement(vector<int>& nums, int val) {
        int res = 0 ;
         for ( int i = 0 ; i < nums.size(); ++ i) {
             if (nums[i] != val) nums[res++] = nums[i];
        }
        return res;
    }
};




Ref:
https://dotblogs.com.tw/abbee/2022/09/21/104648
https://www.cnblogs.com/grandyang/p/4606700.html

留言

這個網誌中的熱門文章

何謂淨重(Net Weight)、皮重(Tare Weight)與毛重(Gross Weight)

Architecture(架構) 和 Framework(框架) 有何不同?_軟體設計前的事前規劃的藍圖概念

經得起原始碼資安弱點掃描的程式設計習慣培養(五)_Missing HSTS Header