LeetCode 27.要素C++コード実装の削除
1010 ワード
タイトルの説明:
配列numsと値valを指定すると、valに等しいすべての数値の要素をその場で除去し、除去後の配列の新しい長さを返す必要があります.
余分な配列空間を使用しないでください.入力配列をその場で変更し、O(1)余分な空間を使用する条件で完了する必要があります.
要素の順序は変更できます.配列の中で新しい長さの後ろを超える要素を考慮する必要はありません.
例1:
例2:
問題解決の考え方:
カウント変数kを使用して、現在の要素がvalに等しくない場合、配列を再配置します.
コード実装:
配列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。
。
。
問題解決の考え方:
カウント変数kを使用して、現在の要素がvalに等しくない場合、配列を再配置します.
コード実装:
class Solution {
public:
int removeElement(vector& nums, int val) {
int k=0;// k
for(int i=0;i