leetcode菜狗入门 | 75. 颜色分类
颜色分类
题目描述
给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。
此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。
注意:
不能使用代码库中的排序函数来解决这道题。
示例:
输入: [2,0,2,1,1,0]
输出: [0,0,1,1,2,2]
解题思路
三路快排思想,大于1的放右边,小于1的放左边,等于1的不动
代码
class Solution {public:void sortColors(vector<int>& nums) {int left = 0;int right = nums.size()-1;int cur = 0;while(cur <= right){if(nums[cur] == 0){nums[cur] = nums[left];nums[left] = 0;left++;cur++;}else if(nums[cur] == 1){cur++;}else if(cur <= right && nums[cur] == 2){nums[cur] = nums[right];nums[right] = 2;right--; }}}
};
leetcode菜狗入门 | 75. 颜色分类相关推荐
- leetcode菜狗入门 | 62. 不同路径 63. 不同路径 II
不同路径 题目描述 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为"Start" ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角(在下图 ...
- Leetcode算法Java全解答--75. 颜色分类
Leetcode算法Java全解答–75. 颜色分类 文章目录 Leetcode算法Java全解答--75. 颜色分类 题目 想法 结果 总结 代码 我的答案 大佬们的答案 测试用例 其他 题目 给定 ...
- LeetCode - 75 颜色分类
给定一个包含红色.白色和蓝色.共 n 个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色.白色.蓝色顺序排列.我们使用整数 0. 1 和 2 分别表示红色.白色和蓝色. ...
- 【leetcode】75.颜色分类(多种解法,超详细图文解析)
75. 颜色分类 难度中等 给定一个包含红色.白色和蓝色,一共 n 个元素的数组,**原地**对它们进行排序,使得相同颜色的元素相邻,并按照红色.白色.蓝色顺序排列. 此题中,我们使用整数 0. 1 ...
- 75. 颜色分类(C++实现)
文章目录 题目 思路--三指针 题目 题目链接:75. 颜色分类) 思路–三指针 其实颜色分类就是对 0 1 2 这三个数字进行排序,但是排序都是有效率之分的,我们希望可以通过一种高效的方法去排序这三 ...
- 2021.1.9每日复习 75.颜色分类(复习快速排序)+ 77.组合(回溯算法)
***75.颜色分类(复习快速排序) class Solution {public void sortColors(int[] nums) {//方法一:冒泡排序// int n = nums.len ...
- 75. 颜色分类(荷兰国旗问题)
75. 颜色分类(荷兰国旗问题) 题目 解题思路 代码 题目 给定一个包含红色.白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色.白色.蓝色顺序排列. 此题中 ...
- LeetCode 73矩阵置零74搜素二维矩阵75颜色分类
新人公众号(求支持):bigsai 专注于Java.数据结构与算法,一起进大厂不迷路! 算法文章题解全部收录在github仓库bigsai-algorithm,求star! 关注回复进群即可加入力扣打 ...
- leetcode —— 75. 颜色分类
给定一个包含红色.白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色.白色.蓝色顺序排列. 此题中,我们使用整数 0. 1 和 2 分别表示红色.白色和蓝色. ...
最新文章
- Smokeping图表参数说明
- 009_CSS分组选择器
- Xlua文件在热更新中调用方法
- python-opencv图像处理之SIFT尺度不变特征变换
- HTML5 地理位置定位(HTML5 Geolocation)原理及应用 (调用GPS)
- [eclipse]Syntax error on token ;,{ expected after this token
- 秋意正浓,和存储大师们来一场美丽的邂逅
- 可变对象 vs 不可变对象(Python)
- xp系统打印服务器自动关闭,XP系统服务管理Print spooler自动关闭的解决办法
- RE文件管理器如何获取小程序APKG文件
- 【“科大讯飞杯”第十七届同济大学】A 张老师和菜哭武的游戏
- laravel 清除缓存
- Tegra Nano上手
- 深入理解 Linux 内存子系统
- 【计算机视觉与深度学习 北京邮电大学 鲁鹏 视频笔记】1. 线性分类器
- 【MATLAB】用地图表白:绘制Bonne投影下的世界地图
- icmp type code 对应表
- 新型无线充电技术:能为人体植入设备充电
- vue单个表单的校验清空
- oTMS宣布完成C1轮融资,投资方为招商局创投
热门文章
- 微信最多到底能添加多少好友?
- git log 中发现 myname@B-V1GSG8WN-0102.local 邮箱不符合要求,请务必使用公司邮箱
- C语言strcmp函数到底是如何比较字符串的
- Ant Design Vue日期选择器,禁止选择当前之前的时间
- trello 怎么显示卡片总数
- 三菱FX系列PLC编程口通信协议总览
- 卡尔曼滤波以后再经过低通滤波器_卡尔曼滤波:究竟滤了谁?
- 墨卡托坐标以及墨卡托坐标转经纬度
- 【案例】新浪微博短视频服务的优化实践
- 235. Lowest Common Ancestor of a Binary Search Tree(Tree-Easy)