網頁

2025年5月17日 星期六

C/C++/Py3使用荷蘭旗演算3 pointer解Leetcode 75 Sort Colors

C C++ Py3使用荷蘭旗演算3 pointer解Leetcode 75 Sort Colors
一次走訪演算採用於荷蘭旗演算法。
[Py3解請進]
------------
 one-pass algorithm is applied the algorithm for Dutch national flag.
[Python C++採陣列排序速解字串問題Leetcode 451 Sort Characters By Frequency]https://www.youtube.com/watch?v=YfS4OMooZes
class Solution:
    def sortColors(self, nums: List[int]) -> None:
        """
        Do not return anything, modify nums in-place instead.
        """
        red, white, blue=0, 1, 2
        l, m, r=0, 0, len(nums)-1
        while m<=r:
            x=nums[m]
            if x==red: 
                nums[l], nums[m]=nums[m], nums[l]
                l+=1
                m+=1
            elif x==white:
                m+=1
            else:
                nums[m], nums[r]=nums[r], nums[m]
                r-=1

        
        

沒有留言:

張貼留言

HTML 編輯器