Sort Colors

作者: carlclone | 来源:发表于2019-07-01 13:50 被阅读0次

计数排序解法

// 计数排序
func sortColors1(nums []int) {
    //make a map store each color number
    //iterate get numbers
    //iterate with 0 1 2 order , fill in arr
​
    map1 := make(map[int]int)
​
    for _, v := range nums {
        map1[v]++
    }
​
    pointer := 0
    for _, v := range []int{0, 1, 2} {
        for i := 1; i <= map1[v]; i++ {
            nums[pointer] = v
            pointer++
        }
    }
}

三路快排解法

画图/变量定义 , 区间定义/伪代码

使用keynote画效果还不错

正确的:


Leetcode Sort Colors


第一次画把0和1的位置搞反了 , 还好大部分定义不变


Leetcode Sort Colors

//three way partition
func sortColors(nums []int) {
    j := -1
    i := j + 1
    k := len(nums)-1+1
​
    for i <= k-1 {
        if nums[i] == 0 {
            tmp1 := nums[i]
            nums[i] = nums[j+1]
            nums[j+1] = tmp1
            i++
            j++
            continue
        }
        if nums[i] == 1 {
            i++
            continue
        }
        if nums[i] == 2 {
            k--
            tmp2 := nums[i]
            nums[i] = nums[k]
            nums[k] = tmp2
            continue
        }
    }
}

相关文章

  • 数组follow-up

    1.Sort Colors[Sort Colors]https://leetcode.com/problems/s...

  • Sort

    Sort Colors improve: Wiggle Sort Merge Intervals

  • Sort Colors

    Given an array with n objects colored red, white or blue,...

  • Sort Colors

    Given an array with n objects colored red, white or blue,...

  • Sort Colors

    计数排序解法 ​ ​ 三路快排解法 ​ 画图/变量定义 , 区间定义/伪代码 使用keynote画效果还不错​正确...

  • Sort Colors

    https://leetcode.com/problems/sort-colors/简化题意就是,有一个arr,里...

  • 75. Sort Colors | 88. Merge Sort

    75. Sort Colors 题目要求见:https://leetcode.com/problems/sort-...

  • 75 sort colors

    Given an array with n objects colored red, white or blue,...

  • sort-colors

    荷兰国旗问题

  • LeetCode 75 Sort Colors

    LeetCode 75 Sort Colors Given an array with n objects col...

网友评论

    本文标题:Sort Colors

    本文链接:https://www.haomeiwen.com/subject/husgcctx.html