leetcode除去要素c++


要素の除去
配列numsと値valを指定すると、valに等しいすべての数値の要素をその場で除去し、除去後の配列の新しい長さを返す必要があります.
余分な配列空間を使用しないでください.入力配列をその場で変更し、O(1)余分な空間を使用する条件で完了する必要があります.
要素の順序は変更できます.配列の中で新しい長さの後ろを超える要素を考慮する必要はありません.
例1:
   nums = [3,2,2,3], val = 3,
           2,    nums           2。
                   。

例2:
   nums = [0,1,2,2,3,0,4,2], val = 2,
           5,    nums          0, 1, 3, 0, 4。
             。

配列内の新しい長さの後ろを超える要素を考慮する必要はありません.
解法1:
class Solution {
public:
    int removeElement(vector& nums, int val) {
        int i=0;//   
        for(int j=0//   ;j

解法2:
主な考え方:val=nums[i]に遭遇した場合、現在の要素を最後の要素に置き換え、最後の要素を解放します.
class Solution {
public:
    int removeElement(vector& nums, int val) {
        int n=nums.size();
        int i=0;
        while(i

この文章はあなたに役に立つと思います.いいですね.ありがとうございます.