LeetCode(27.要素を除去)


アルゴリズムの説明:
      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`。
             。
                   。
  :
          ,          ?
   ,      “  ”     ,                       。
           :
nums  “  ”     。    ,         
int len = removeElement(nums, val);
//                    。
//            ,         **      **     。
for (int i = 0; i < len; i++) {
    print(nums[i]);
}

アルゴリズムの実装:
Java実装:
class Solution {
    public int removeElement(int[] nums, int val) {
        int index = 0; //          val   

        //       ,     val       ,     
        for (int i = 0; i < nums.length; i++) {
            if (nums[i] != val) {
                nums[index] = nums[i];
                index++;
            }
        }

        return index;
    }
}