zoukankan      html  css  js  c++  java
  • 75. Sort Colors(按颜色进行排序)(leetcode)

    Given an array with n objects colored red, white or blue, sort them in-place so that objects of the same color are adjacent, with the colors in the order red, white and blue.

    Here, we will use the integers 0, 1, and 2 to represent the color red, white, and blue respectively.

    Note: You are not suppose to use the library's sort function for this problem.

    Example:

    Input: [2,0,2,1,1,0]
    Output: [0,0,1,1,2,2]

    Follow up:

      • A rather straight forward solution is a two-pass algorithm using counting sort.
        First, iterate the array counting number of 0's, 1's, and 2's, then overwrite array with total number of 0's, then 1's and followed by 2's.
      • Could you come up with a one-pass algorithm using only constant space?

    题目描述:只有 0/1/2 三种颜色。

    分析:它其实是三向切分快速排序的一种变种,在三向切分快速排序中,每次切分都将数组分成三个区间:小于切分元素、等于切分元素、大于切分元素,而该算法是将数组分成三个区间:等于红色、等于白色、等于蓝色。

    苟有恒,何必三更眠五更起;最无益,莫过一日暴十日寒。
  • 相关阅读:
    JZOJ 2020.10.6 提高B组反思
    【NOIP2011模拟11.1】钓鱼
    JZOJ【NOIP2012模拟8.9】2020.10.5 T1
    ⑫linux基础命令 过滤 grep
    ⑪linux基础命令 tail
    ⑩linux基础命令 head
    ⑨linux基础命令 cat
    ⑧linux基础命令 rm
    ⑦linux基础命令 mv
    ⑥linux基础命令 cp
  • 原文地址:https://www.cnblogs.com/shaer/p/10430879.html
Copyright © 2011-2022 走看看