颜色分类Python解法
给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。
我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。
必须在不使用库的sort函数的情况下解决这个问题。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/sort-colors
例:
输入:nums = [2,0,2,1,1,0] 输出:[0,0,1,1,2,2]
解析:原地排序一般都是使用指针,0,1,2指针开始全部指向第一个位置。然后当等于2时直接在指针处赋值,然后指针后移一个,为1时指针处赋值1,指针2处也赋值,逻辑上就是给1腾出位置,为0时就腾出两个位置,这个自己画图比较好理解一点,画一遍就懂了。
class Solution(object):def sortColors(self, nums):""":type nums: List[int]:rtype: None Do not return anything, modify nums in-place instead."""flg0, flg1, flg2 = 0, 0, 0 # 初始化三个指针for i in range(len(nums)):if nums[i] == 0: # 为0时nums[flg2] = 2 #后退腾出位置flg2 += 1 # 指针后移nums[flg1] = 1flg1 += 1nums[flg0] = 0flg0 += 1elif nums[i] == 1: # 为1时nums[flg2] = 2flg2 += 1nums[flg1] = 1flg1 += 1else: # 为2时nums[flg2] = 2flg2 += 1
颜色分类Python解法相关推荐
- 颜色分类python(leetcode)
给定一个包含红色.白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色.白色.蓝色顺序排列. 此题中,我们使用整数 0. 1 和 2 分别表示红色.白色和蓝色. ...
- python 三指针解决颜色分类
颜色分类 给定一个包含红色.白色和蓝色,一共 n 个元素的数组, 原地对它们进行排序,使得相同颜色的元素相邻,并按照红色.白色.蓝色顺序排列.此题中,我们使用整数 0. 1 和 2 分别表示红色.白色 ...
- 【leetcode】75.颜色分类(多种解法,超详细图文解析)
75. 颜色分类 难度中等 给定一个包含红色.白色和蓝色,一共 n 个元素的数组,**原地**对它们进行排序,使得相同颜色的元素相邻,并按照红色.白色.蓝色顺序排列. 此题中,我们使用整数 0. 1 ...
- (转!)利用Keras实现图像分类与颜色分类
2018-07-19 全部谷歌渣翻加略微修改 大家将就的看哈 建议大佬们还是看看原文 点击收获原文 其中用到的示例文件 multi-output-classification 大家可以点击 下载 . ...
- 项目:机器学习+FLD分类+python图像处理mnist数据集
机器学习+FLD分类+python图像处理mnist数据集 ** 以mnist数据集实现Fisher Linear Discriminant(FLD)的分类以及降维功能 任务一如下所示 以下任务是te ...
- LeetCode 111. Minimum Depth of Binary Tree--Java, Python解法--二叉树最小高度--迭代,递归
题目地址:Minimum Depth of Binary Tree - LeetCode Given a binary tree, find its minimum depth. The minimu ...
- LeetCode 226. Invert Binary Tree--反转二叉树--C++,Python解法--递归,迭代做法
题目地址:Invert Binary Tree - LeetCode Invert a binary tree. Example: Input: 4/ \2 7/ \ / \ 1 3 6 9 Outp ...
- LeetCode 204. Count Primes--从一开始的质数个数--Python解法--面试算法题
题目地址:Count Primes - LeetCode Count the number of prime numbers less than a non-negative number, n. E ...
- LeetCode 458. Poor Pigs--智力题「小白鼠试毒」--C++,Python解法
题目地址:Poor Pigs - LeetCode There are 1000 buckets, one and only one of them is poisonous, while the r ...
- LeetCode 230. Kth Smallest Element in a BST--C++,Python解法--面试真题--找二叉树中第K小的元素
题目地址:Kth Smallest Element in a BST - LeetCode Given a binary search tree, write a function kthSmalle ...
最新文章
- Linux下MySql出现#1036 – Table ‘ ‘ is read only 错误解决方法
- 阻塞、非阻塞与同步、异步的区别
- 未找到要求的 from 关键字_性能优化|这恐怕是解释Explain关键字最全的一篇文章
- tensorflow 转张量类型为float_5个简单的步骤掌握Tensorflow的Tensor
- codeblocks使用技巧
- 一幅漫画揭示了项目研发过程中存在的问题,太形象了
- 【点阵液晶编程连载三/B】点阵LCD 的驱动与显控
- java swing 删除事件_java swing清除事件队列
- python函数中的关键字参数
- 越看越爽,此后统计学习不再是路人!
- 小型产生式系统——昆虫识别
- 【fiddler抓包修改订单金额】
- linux 编译cgal,Linux环境下CGAL配置
- Mybatis学习教程②
- idea代码编辑CPU使用率飙升100%
- php手册经常见到,什么是“二进制安全”?
- SSD硬盘SATA接口和M.2接口区别(详细)总结
- 漏洞检测:异常页面导致服务器路径泄漏 WASC Threat Classification
- drill apache_使用Apache Drill对混合模式数据进行SQL查询
- 非全日制计算机博士招生简章,非全日制教育博士招生简章2020
热门文章
- oracle自学视频
- 64位微型计算机64指技术指标,\\\64位微型计算机\\\中的64,是指下列技术指标中的...
- php 打印机样式自动对齐,虚拟打印机怎么快速设置视图样式
- 联想小新air13 pro重装win10时出现找不到存储设备驱动
- 统计学 | 八大经典思想「AI核心算法」
- 微信自动发消息机器人实现方法
- MQ消息队列简单介绍+代码
- 【用matlab设计仿真数字锁相放大器】
- MOS管功率放大器电路图与原理图文及其解析
- 0433-Kerberos环境下Impala Daemon在CDH5.15版本中KRPC端口27000异常分析