Skip to content

boostarea/Leetcode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Leetcode

1. 三向拆分快速排序

75. Sort Colors(荷兰国旗问题)

给定一个数组,仅包含0,1,2,需排序后转换为:0在1前,1在2前。

Input: [2,0,2,1,1,0]
Output: [0,0,1,1,2,2]
class Solution {
    public void sortColors(int[] nums) {
        int zero=-1, one=0, two=nums.length;
        for (;one<two;) {
            if (nums[one] == 0) {
                swap(nums, ++zero, one++);
            } else if (nums[one] == 2) {
                swap(nums, one, --two);
            } else {
                ++one;
            }
        }
    }
    
    private void swap(int[] nums, int older, int newer) {
        int temp = nums[older];
        nums[older] = nums[newer];
        nums[newer] = temp;
    }
}

About

☑LeetCode Lab

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published