75. 颜色分类

给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。

此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。

注意:
不能使用代码库中的排序函数来解决这道题。

示例:

输入: [2,0,2,1,1,0]
输出: [0,0,1,1,2,2]
进阶:

一个直观的解决方案是使用计数排序的两趟扫描算法。
首先,迭代计算出0、1 和 2 元素的个数,然后按照0、1、2的排序,重写当前数组。
你能想出一个仅使用常数空间的一趟扫描算法吗?

class Solution {public void sortColors(int[] nums) {//双指针int low = 0, high = nums.length - 1;int i = 0;while(i <= high){if(nums[i] == 0){int tmp = nums[i];nums[i] = nums[low];nums[low] = tmp;++low; ++i;}else if(nums[i] == 1){++i;}else if(i <= high && nums[i] == 2){int tmp = nums[i];nums[i] = nums[high];nums[high] = tmp;--high;}}}
}

Java实现 LeetCode 75 颜色分类相关推荐

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

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

  2. LeetCode - 75 颜色分类

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

  3. leetcode —— 75. 颜色分类

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

  4. LeetCode 75. 颜色分类(Sort Colors)

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

  5. Leetcode 75. 颜色分类 (每日一题 20210817)

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

  6. leetcode 75. 颜色分类(双指针)

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

  7. LeetCode 75 颜色分类

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

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

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

  9. 75. 颜色分类(C++实现)

    文章目录 题目 思路--三指针 题目 题目链接:75. 颜色分类) 思路–三指针 其实颜色分类就是对 0 1 2 这三个数字进行排序,但是排序都是有效率之分的,我们希望可以通过一种高效的方法去排序这三 ...

  10. 2021.1.9每日复习 75.颜色分类(复习快速排序)+ 77.组合(回溯算法)

    ***75.颜色分类(复习快速排序) class Solution {public void sortColors(int[] nums) {//方法一:冒泡排序// int n = nums.len ...

最新文章

  1. 爬虫-selenium初步学习与使用!
  2. 在php中存redis数据,redis缓存都存哪些数据
  3. linux 结构体 struct addrinfo 简介
  4. 【算法竞赛学习】心跳信号分类预测-数据分析
  5. 4.2 SE38数据对象
  6. 连通域最小外接矩形算法原理_算法|图论 2W字知识点整理(超全面)
  7. 老马的原创空间搬家通告
  8. FL Studio最新汉化免费下载 水果音乐制作软件
  9. 计算机页面偏黄怎么修改,windows10电脑屏幕颜色偏黄的调节方法
  10. 注意区分及优化销售管道和销售预测
  11. js 中出现 invalid date问题
  12. 高低温测试试验方法有哪些?
  13. 数据中心的等级 数据中心的分层
  14. oracle中查看pga大小,关于oracle pga大小限制
  15. Rotating reference frame
  16. Elasticsearch时区问题
  17. C#使用TCP进行聊天通信(详细解析)
  18. springboot+thymeleaf或者springboot+freemarker的国际化
  19. oracle报告指标,Oracle AWR报告指标全解析(三)
  20. 大数据分析模型有哪几种类型?

热门文章

  1. lsass.exe是什么?
  2. 计算机控制系统信号恢复之零阶保持器
  3. AutoCAD .Net 创建Ribbon界面(一)
  4. openstackdvr模式
  5. java弹出子窗口_java实现点击按钮事件弹出子窗口
  6. LWN:Fedora 关于无驱动打印的讨论!
  7. web项目接入指纹识别+识别过程信息推送
  8. MKVToolNix Mac下载
  9. 计算机硬件故障诊断的原则,计算机硬件常见故障诊断和维护.doc
  10. MIUI11线刷包精简