leetcode75
生活随笔
收集整理的這篇文章主要介紹了
leetcode75
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
class Solution {
public:void sortColors(vector<int>& nums) {sort(nums.begin(), nums.end());}
};
?上面這個太弱了,給一個強不了多少的
1 class Solution: 2 def sortColors(self, nums: 'List[int]') -> 'None': 3 red = 0 4 white = 0 5 blue = 0 6 for n in nums: 7 if n == 0: 8 red+=1 9 elif n == 1: 10 white += 1 11 elif n == 2: 12 blue += 1 13 else: 14 print('error') 15 nums.clear() 16 nums.extend([0]*red + [1]*white + [2]*blue)下面給出一個比較強的
1 class Solution: 2 def swap(self,nums,i,j): 3 nums[i],nums[j] = nums[j],nums[i] 4 ''' 5 temp = nums[i] 6 nums[i] = nums[j] 7 nums[j] = temp 8 ''' 9 10 def sortColors(self, nums: 'List[int]') -> 'None': 11 n = len(nums) 12 left = 0 13 right = n - 1 14 i = 0 15 while i <= right: 16 if nums[i] == 0: 17 if i != left: 18 self.swap(nums,i,left) 19 i += 1 20 left += 1 21 elif nums[i] == 1: 22 i += 1 23 else: 24 self.swap(nums,i,right)注意swap的寫法,如果用temp來存,速度會慢很多。
轉載于:https://www.cnblogs.com/asenyang/p/9740678.html
總結
以上是生活随笔為你收集整理的leetcode75的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Stylish窃取用户数据被 Firef
- 下一篇: Java常见排序算法之Shell排序