Leetcode - ソートされた配列から重複を削除する
**`減少しない順序でソートされた整数配列 nums が与えられた場合、それぞれの一意の要素が 1 回だけ現れるように重複をインプレースで削除します.要素の相対的な順序は同じに保つ必要があります.
一部の言語では配列の長さを変更できないため、代わりに配列 nums の最初の部分に結果を配置する必要があります.より正式には、重複を削除した後に k 個の要素がある場合、nums の最初の k 個の要素が最終結果を保持する必要があります.最初の k 要素を超えて何を残すかは問題ではありません.
nums の最初の k スロットに最終結果を配置した後、k を返します.
別の配列に余分なスペースを割り当てないでください.これを行うには、O(1) の追加メモリを使用して入力配列をインプレースで変更する必要があります.`**
カスタムジャッジ:
審査員は、次のコードを使用してソリューションをテストします.
`例 1:
入力: 数値 = [1,1,2]
出力: 2、数値 = [1,2,_]
説明: 関数は、nums の最初の 2 つの要素がそれぞれ 1 と 2 である k = 2 を返す必要があります.
返された k の後に何を残しても問題ありません (したがって、それらはアンダースコアです).
例 2:
入力: 数値 = [0,0,1,1,1,2,2,3,3,4]
出力: 5、数値 = [0,1,2,3,4,,,,_]
説明: 関数は、nums の最初の 5 つの要素がそれぞれ 0、1、2、3、および 4 である k = 5 を返す必要があります.
返された k の後に何を残しても問題ありません (したがって、それらはアンダースコアです).
Java ソリューション -
一部の言語では配列の長さを変更できないため、代わりに配列 nums の最初の部分に結果を配置する必要があります.より正式には、重複を削除した後に k 個の要素がある場合、nums の最初の k 個の要素が最終結果を保持する必要があります.最初の k 要素を超えて何を残すかは問題ではありません.
nums の最初の k スロットに最終結果を配置した後、k を返します.
別の配列に余分なスペースを割り当てないでください.これを行うには、O(1) の追加メモリを使用して入力配列をインプレースで変更する必要があります.`**
カスタムジャッジ:
審査員は、次のコードを使用してソリューションをテストします.
int[] nums = [...]; // Input array
int[] expectedNums = [...]; // The expected answer with correct length
int k = removeDuplicates(nums); // Calls your implementation
assert k == expectedNums.length;
for (int i = 0; i < k; i++) {
assert nums[i] == expectedNums[i];
}
If all assertions pass, then your solution will be accepted.
`例 1:
入力: 数値 = [1,1,2]
出力: 2、数値 = [1,2,_]
説明: 関数は、nums の最初の 2 つの要素がそれぞれ 1 と 2 である k = 2 を返す必要があります.
返された k の後に何を残しても問題ありません (したがって、それらはアンダースコアです).
例 2:
入力: 数値 = [0,0,1,1,1,2,2,3,3,4]
出力: 5、数値 = [0,1,2,3,4,,,,_]
説明: 関数は、nums の最初の 5 つの要素がそれぞれ 0、1、2、3、および 4 である k = 5 を返す必要があります.
返された k の後に何を残しても問題ありません (したがって、それらはアンダースコアです).
Java ソリューション -
import java.util.*;
class Solution {
public int removeDuplicates(int[] nums) {
int count = 0;
for (int i = 0; i < nums.length; i++) {
if (i < nums.length - 1 && nums[i] == nums[i + 1]) {
continue;
}
nums[count] = nums[i];
count++;
}
return count;
}
}
Reference
この問題について(Leetcode - ソートされた配列から重複を削除する), 我々は、より多くの情報をここで見つけました https://dev.to/vaishnveeshinde/leet-code-remove-duplicates-from-sorted-array-41bkテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol