颜色分类

题目描述:

给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。
此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。
提示:
n == nums.length
1 <= n <= 300
nums[i] 为 0、1 或 2
进阶:
  • 你可以不使用代码库中的排序函数来解决这道题吗?
  • 你能想出一个仅使用常数空间的一趟扫描算法吗?

题目链接

class Solution {public void sortColors(int[] nums) {// 收集每个颜色所含有的个数int[] color = new int[3];// 常数空间int len = nums.length;for(int i = 0 ; i<len ; i++){color[nums[i]]++;}int j = 0;for(int i = 0 ; i<len ;j++){if(color[j] != 0){while(color[j] != 0){nums[i] = j;color[j]--;i++; // 这里改变了最外层循环的i}}}}
}

该题总共遍历两次。对于第一次遍历:由于颜色只有三种,此时将颜色收集到color数组中;对于第二次遍历:将color数组中的颜色按照顺序分布到数组中,详细请看代码。

Leetcode 颜色分类相关推荐

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

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

  2. LeetCode 73矩阵置零74搜素二维矩阵75颜色分类

    新人公众号(求支持):bigsai 专注于Java.数据结构与算法,一起进大厂不迷路! 算法文章题解全部收录在github仓库bigsai-algorithm,求star! 关注回复进群即可加入力扣打 ...

  3. Leetcode算法Java全解答--75. 颜色分类

    Leetcode算法Java全解答–75. 颜色分类 文章目录 Leetcode算法Java全解答--75. 颜色分类 题目 想法 结果 总结 代码 我的答案 大佬们的答案 测试用例 其他 题目 给定 ...

  4. LeetCode - 75 颜色分类

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

  5. leetcode必刷题(四)lee75 颜色分类、lee76 最小覆盖字串、lee78 子集、lee79 单词搜索、lee84 柱状图中最大的矩形、lee85 最大矩形、lee96 不同的二叉搜索树、

    lee75 颜色分类 patition 三个指针 lee76 最小覆盖字串 滑动窗口 lee78 子集 无重复数字 回溯 lee79 单词搜索 回溯 lee84 柱状图中最大的矩形 单调栈 lee85 ...

  6. 【leetcode】75.颜色分类(多种解法,超详细图文解析)

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

  7. leetcode菜狗入门 | 75. 颜色分类

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

  8. leetcode系列-颜色分类(sort colors)

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

  9. Leetcode题目分类指南(单独刷题或学习算法书籍配合使用)

    Leetcode题目分类指南 笔者在学习<算法导论>同时,希望能够配合Leetcode的题目进行分类模块化练习,该分类为笔者自己根据做题学习经验,结合<算法导论>的内容,给出L ...

  10. 颜色分类问题 快速排序day02

    颜色分类问题 leetcode 75 这道题我开始当成排序题做了,因为要求是进行原地排序,所以我使用的是插入排序 public static void sortColors(int[] nums) { ...

最新文章

  1. 政、企、学三方视角下的智慧城市发展 | 2020中关村论坛“人工智能与城市可持续发展论坛”成功举办...
  2. Gradle引人注目的特性集
  3. C++标准输入流、输出流以及文件流
  4. go 错误处理总结
  5. 微软要放弃Edge了?传微软正在构建基于Chromium的浏览器
  6. DbVisualizer的Driver连接Oracle Thin选项不可选
  7. SQL Server 2005 如何自动备份数据库
  8. struts1、 struts2所有版本jar包下载地址大全
  9. html和css基础整理
  10. linux命令tar -xzvf等
  11. 作文 进入中职计算机班,我的中职生活作文(精选5篇)
  12. qq聊天/msn聊天/发送邮件
  13. 如何 运行WRF模型 天气预报 数据后处理
  14. 39元超值!360超级充电器拆解与评测
  15. 【我奶奶都能看懂系列005】☀️python基础语法——容器,小学生也可以学!
  16. 瑞波基因XAG聚合CEC系统细节举例说明
  17. JAVA读取注册表中的值
  18. ipad全系列_为iPad提供全职工作
  19. (一) elasticsearch-dsl查询操作
  20. 图文并茂使用VUE+Quasar CLI开发和构建PWA

热门文章

  1. psp android 模拟器,安卓psp模拟器
  2. 我的希捷ST31000340NS,BIOS不认,磁头反复归位,BUSY模式的固件门硬盘修复成功
  3. php开源代码推荐,非常好用的源代码网站推荐,用这些开源代码就够了
  4. 佳能430二代_简单好用 佳能430EX III-RT闪光灯评测
  5. 小马哥讲Spring核心编程思想 - 第二章 重新认识IoC
  6. python报告生成器_利用Python实现报告自动生成
  7. HSQL 中修改字段的语法
  8. Postman安装失败,解决方法
  9. 基于MATLAB的线性规划
  10. 如何解决ueditor乱码问题