問題:原來是兩個相同的 現在變成三個相同的了
后來我又想了一下題目 來自leetcode 網址:https://leetcode-cn.com/problems/single-number-ii/

思路 看了一下題目想了一想 只有當前的數字 和兩邊的數字 都不相等了 直接就是只有一個 前提是 做好排序
代碼如下 與leetcode136 一樣 那個是兩個相同 這個是三個相同
public static int singleNumber(int[] nums) {
Arrays.sort(nums);
if (nums.length==1){
return nums[0];
}
for (int i = 0 ; i < nums.length; i++) {
if (i-1>=0&&i+1<nums.length){
if (nums[i-1]!=nums[i]&&nums[i]!=nums[i+1]&&i+1<nums.length){
return nums[i];
}
}else
if (i-1<0&&i+1<nums.length){
if (nums[i]!=nums[i+1]){
return nums[i];
}
}
}
return nums[nums.length-1];
}

各項指標 瞬間變小 看來有更好的寫法 下面會繼續補充 怎么樣進行優化
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/356924.html
標籤:其他
