很多的排序算法如 冒泡 插入 什么的,都是基于比较的,

这题还可以通过 基于 数据下标的算法: 计数排序 来做

下面的解为 partition 的分区方法, 供参考:  思路: 0放左边 2方右边,遇1直接跳过

class Solution {
public:void swap(vector<int>& nums, int i, int j){int temp;temp = nums[i];nums[i] = nums[j];nums[j] = temp;}void sortColors(vector<int>& nums) {int i = 0;int two = nums.size();int one = -1;while(i != two){if(nums[i] == 1){++i;}else if(nums[i] == 0){// swap(nums[i++], nums[++one])swap(nums, i++, ++one);}else{// = 2// swap(nums[i], nums[--two]);swap(nums, i, --two);}}}
};

leetcode75 颜色分类相关推荐

  1. Leetcode75. 颜色分类

    Leetcode75. 颜色分类 题目: 给定一个包含红色.白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色.白色.蓝色顺序排列. 此题中,我们使用整数 0. ...

  2. LeetCode--75.颜色分类(三路快排,计数排序)

    颜色分类(C) 1. 题目描述 2. 题目解析 3. C语言实现 3.1 三路快排法 3.2 计数排序法 1. 题目描述 难度:中等 2. 题目解析 这道题需要注意一下几点: 原地进行排序,不可以另外 ...

  3. [Swift]LeetCode75. 颜色分类 | Sort Colors

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

  4. Leetcode--75. 颜色分类

    给定一个包含红色.白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色.白色.蓝色顺序排列. 此题中,我们使用整数 0. 1 和 2 分别表示红色.白色和蓝色. ...

  5. 【数据结构与算法】leetcode75.颜色分类

    链接 题目: 给定一个包含红色.白色和蓝色.共 n 个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色.白色.蓝色顺序排列. 我们使用整数 0. 1 和 2 分别表示红色 ...

  6. 【Leetcode刷题篇】leetcode75 颜色分类

    给定一个包含红色.白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色.白色.蓝色顺序排列. 此题中,我们使用整数 0. 1 和 2 分别表示红色.白色和蓝色. ...

  7. leetcode75颜色分类

    解法一: class Solution {public:void sortColors(int A[], int n) {int second=n-1, zero=0; //second之后的全是2, ...

  8. 《LeetCode力扣练习》第75题 颜色分类 Java

    <LeetCode力扣练习>第75题 颜色分类 Java 一.资源 题目: 给定一个包含红色.白色和蓝色.共 n 个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻,并按 ...

  9. python 三指针解决颜色分类

    颜色分类 给定一个包含红色.白色和蓝色,一共 n 个元素的数组, 原地对它们进行排序,使得相同颜色的元素相邻,并按照红色.白色.蓝色顺序排列.此题中,我们使用整数 0. 1 和 2 分别表示红色.白色 ...

最新文章

  1. Swift中文教程(十三) 继承
  2. HAV-down1.1vs 大黄峰资源搜索 绿色特别版
  3. 我去面试没带简历,你让我走人?
  4. 【电脑技术】修改无线网卡MAC地址失败的原因
  5. linux下制作mac os x,桌面应用|Ubuntu 14.04 下的MAC OS X 主题安装
  6. mysql--sql中双引号 单引号' 反单引号`的作用和区别
  7. c语言程序规定必须用main作为,C语言学习必须清楚的事情,这就是C语言的开始...
  8. [欧洲之行]比利时布鲁塞尔
  9. 新车提车验车步骤和细节
  10. Ubuntu下校园网锐捷客户端的连接
  11. JAVA外包服务的整体工作流程有哪些
  12. php获取实时汇率,php获取sinajs股票/汇率/期货实时价格
  13. 贝恩2021技术报告:到2025年,30%的云服务供应商将专注于人工智能计算工作负载
  14. python中re.match和re.search和re.findall的用法
  15. [日常] 面试知识点总结(持续更新)
  16. java同步锁售票_线程同步锁之火车站售票案例
  17. C++(Qt) 和 Word、Excel、PDF 交互总结
  18. php+仿微信发红包+负数,php仿微信红包分配算法的实现方法
  19. 简单的信号表示与matlab(含抽样频率
  20. 你知道中午十二点的食堂是什么样子吗?

热门文章

  1. 指针的形式与动态存储分配
  2. Efficient multi-keyword ranked query over encrypted data in cloud computing (6)
  3. latex表格水平垂直居中
  4. 一步一步构建手机WebApp开发——页面布局篇
  5. 基于STM32的无线通信模块使用——HC_05蓝牙串口
  6. 电子工程师入门宝典:最常用十大电子元器件-电子技术方案|电路图讲解
  7. Weston 纹理倒置(render-gl)
  8. OpenDDS有问必答
  9. 微信openid 服务器备案,微信生态中的 openId、unionID和业务系统中的ID
  10. PDF Cookbook by Eric