LeetCode(27.要素を除去)
2873 ワード
アルゴリズムの説明:
アルゴリズムの実装:
Java実装:
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;
}
}