生活随笔
收集整理的這篇文章主要介紹了
按颜色进行排序
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
75. Sort Colors (Medium)
Input: [2,0,2,1,1,0]
Output: [0,0,1,1,2,2]
題目描述:只有 0/1/2 三種顏色。
public void sortColors(int[] nums) {int zero = -1, one = 0, two = nums.length;while (one < two) {if (nums[one] == 0) {swap(nums, ++zero, one++);} else if (nums[one] == 2) {swap(nums, --two, one);} else {++one;}}
}private void swap(int[] nums, int i, int j) {int t = nums[i];nums[i] = nums[j];nums[j] = t;
}
首先如果是0,zero的游標(biāo)每次都會停在0處,只有你要跟他進(jìn)行交換了,他開始加加,而且下一個(gè)一定是1,只有這樣one才能直接走下去,所以一定是1被換到新的位置處啦。
然后關(guān)于遇到2,和最后一個(gè)換,換完one不動,因?yàn)橛锌赡苁?,需要再次進(jìn)行判斷!
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀
總結(jié)
以上是生活随笔為你收集整理的按颜色进行排序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。