毎日1題LeetCode[17日目]
毎日1題LeetCode[17日目]
Remove duplicates from sorted array
Description:
翻訳:
問題解決の考え方:が始まると...問題はまた間違っていて、新しい長さに戻ればいいと思っています.後からTop Solutionを見てやっと分かりました.私はまた間違っている.一番怖いのは、Top Solutionを見てこの答えが本当に素晴らしいことを知ったことです.私の見解を述べると、2つのポインタi j,iは配列全体を遍歴するために使用され、jはこれまでの数字が独立していることを表し、jという位置は現在の最近の唯一の数字の下付きを表す.どうやって進みますか?まずi jは同時に0から始まる.条件:ijが指す数値が異なると++j位置の値が更新されますが、なぜですか?等しくない表現がまた新しい唯一の数字に出会ったので記録します.最後に、最後のjは、最初の等しくない表現が2つの異なる数字であるため、さらに1回増加することに注意する.
Javaコード:
コードの品質を高めることは、美しい考え方を蓄積し、良質な細部を蓄積することです.
Remove duplicates from sorted array
Description:
Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length.
Do not allocate extra space for another array, you must do this in place with constant memory.
For example,
Given input array nums = [1,1,2],
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 new length.
翻訳:
, , 。
,
:[1,1,2] 2 , 1,2。 。
問題解決の考え方:
Javaコード:
public class Solution {
public int removeDuplicates(int [] nums){
if(null==nums || nums.length==0){
return 0;
}
int j=0;
for(int i=0;iif(nums[i]!=nums[j]) {
nums[++j]=nums[i];
}
}
return j;
}
}
コードの品質を高めることは、美しい考え方を蓄積し、良質な細部を蓄積することです.