【LeetCode】26. Remove Duplicates from Sorted Arrayを解いてみた
はじめに
コーディングテスト対策としてLeetCodeの7. Reverse Integerを解いていく。
問題文を和訳
- これは、O(1) の余分なメモリを使用して入力配列をin-placeで変更することによって行う必要があります。
- 明確化:
- 戻り値が整数であるのに、答えが配列である理由が混乱していますか?
- 入力配列は参照によって渡されることに注意してください。
- つまり、入力配列への変更は呼び出し側にも認識されます。
- 内部的には、次のように考えることができます。
- numsは参照によって渡されます。(つまり、コピーを作成せずに)
- int len = removeDuplicates(nums);
- 関数内のnumsへの変更は、呼び出し元に認識されます。
- 関数から返された長さを使用して、最初のlen要素を出力します。
for(int i = 0; i <len; i ++){
print(nums [i]);
}
- Input: nums = [1,1,2]
- Output: 2, nums = [1,2]
- Explanation: Your function should return length = 2
with the first two elements of nums being 1 and 2 respectively.
It doesn't matter what you leave beyond the returned length.
回答
26_RemoveDuplicatesfromSortedArray.rb
def remove_duplicates(nums)
index = 0
if nums.length == 0
return 0
end
for i in 0...nums.length do
if nums[i] != nums[index]
index += 1
nums[index] = nums[i]
end
end
return index + 1
end
最後に
難易度はEasyでした。
Author And Source
この問題について(【LeetCode】26. Remove Duplicates from Sorted Arrayを解いてみた), 我々は、より多くの情報をここで見つけました https://qiita.com/kazuki-ayimon/items/ed59dd24158de1672ae3著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .