python 三指针解决颜色分类
颜色分类
给定一个包含红色、白色和蓝色,一共 n 个元素的数组,
原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。示例 1:输入:nums = [2,0,2,1,1,0]
输出:[0,0,1,1,2,2]
示例 2:输入:nums = [2,0,1]
输出:[0,1,2]
示例 3:输入:nums = [0]
输出:[0]
示例 4:输入:nums = [1]
输出:[1]提示:n == nums.length
1 <= n <= 300
nums[i] 为 0、1 或 2
题解
class Solution:def sortColors(self, nums: List[int]) -> None:"""Do not return anything, modify nums in-place instead."""# 初始化三个指针 p,q,i # p指针控制红色颜色# q指针控制蓝色颜色# i指针从头到尾依次遍历p, q, i = 0, len(nums) - 1, 0while i <= q:# 当遍历到的元素等于0时, 与p指针对应的元素进行交换,并且向后移动一个元素继续比较if nums[i] == 0:nums[p], nums[i] = nums[i], nums[p] p += 1i += 1# 当便利的与元素等于2时,与q指针对应的元素进行交换# (不需要移动当前的i指针,需要再次去比较一下)原因是有可能当前元素elif nums[i] == 2:nums[q], nums[i] = nums[i], nums[q]q -= 1else:# 如果等于便利的元素等于1的时候 直接跳到下一个元素i += 1
python 三指针解决颜色分类相关推荐
- 按照100分制,90分以上成绩为A,80到90为B, 60到80为C,60一下为D,写一个程序, 当用户输入分数,自动转换为ABCD的形式打印,Python三种解决方法
# method1暴力输入法: score=int(input("请输入一个分数:")) if 100>=score>=90: print("A&qu ...
- 75. 颜色分类(C++实现)
文章目录 题目 思路--三指针 题目 题目链接:75. 颜色分类) 思路–三指针 其实颜色分类就是对 0 1 2 这三个数字进行排序,但是排序都是有效率之分的,我们希望可以通过一种高效的方法去排序这三 ...
- 75. 颜色分类(三指针、Python)
学习三指针的思想及应用 题目描述 文章目录 方法一:双指针(两遍循环) 方法二:三指针(一遍循环) 方法三:三指针(交换0和2) 方法一:双指针(两遍循环) 我们可以考虑对数组进行两次遍历.在第一次遍 ...
- [Leetcode][第75题][JAVA][颜色分类][双(三)指针][计数排序]
[问题描述][中等] [解答思路] 1. 三指针 时间复杂度:O(N) 空间复杂度:O(1) class Solution {public void sortColors(int[] nums) {i ...
- 【ArcGIS风暴】ArcGIS矢量数据分层设色后导出或裁剪后颜色分类丢失完美解决办法
在利用ArcGIS做土地利用现状图或者规划图时,事先费了好大劲把每个地类对应的图斑进行了符号化(用不同的颜色表示),后来把符号化好的数据导出,并进行加载,发现颜色分类完全丢失了,同样,在利用某个重点区 ...
- python朋友圈可见_女神说不能每张照片P的同样,因此朋友圈开三天可见,用Python一步解决...
你们好,我是小三十三,一个刚恰完午餐,正在用刷网页浪费生命的蒟蒻...python 一堆堆无聊八卦信息的网页内容慢慢使个人双眼模糊,一个哈欠打出了三斤老泪,就在此时我看到了一张图片:工具 !学习 是谁 ...
- python正确读取文件路径的三种解决方法
目录 一.问题需求 二.问题原因 三.解决办法 四.小思 一.问题需求 日常用程序读取文件数据等时,常常会显示一些诸如文件路径不存在等错误信息. 二.问题原因 这类问题,在python中,主要是由于 ...
- python输出结果存到文件拒绝访问_三步解决python PermissionError: [WinError 5]拒绝访问的情况...
问题描述: 1.当你卸载python库的时候,如:pip uninstall pandas 2.当你想要更新python库的时候,如:pip install --upgrade pandas 等等- ...
- leetcode必刷题(四)lee75 颜色分类、lee76 最小覆盖字串、lee78 子集、lee79 单词搜索、lee84 柱状图中最大的矩形、lee85 最大矩形、lee96 不同的二叉搜索树、
lee75 颜色分类 patition 三个指针 lee76 最小覆盖字串 滑动窗口 lee78 子集 无重复数字 回溯 lee79 单词搜索 回溯 lee84 柱状图中最大的矩形 单调栈 lee85 ...
最新文章
- VIEW登陆故障解决办法。
- ASP.NET MVC 音乐商店 - 1 创建项目
- js立即执行函数: (function ( ){...})( ) 与 (function ( ){...}( ))
- C# PrintDocument 打印表格
- asp 判断数组等于_剑指Offer(牛客版)--面试题4:二维数组中的查找
- SAP Commerce的extensioninfo.xml
- (转)基于MVC4+EasyUI的Web开发框架经验总结(3)- 使用Json实体类构建菜单数据...
- BurpSuite使用——HTTP
- Linux selinux关闭方法和防火墙关闭方法
- 让Oracle跑得更快 ——博文视点大讲堂34期活动圆满结束
- erlang的timer定时器浅析
- python第四章选择题_PythonCrashCourse 第四章习题
- 遗传算法的c语言实现,基本遗传算法的C语言实现
- 《给忙碌者的天体物理学》pdf、mobi、epub下载
- element-ui表格编辑
- pytorch 画loss曲线_Python练习绘制损失曲线,Pytorch,Loss
- android高德地图关键字搜索,关键字搜索-POI搜索-示例中心-JS API 示例 | 高德地图API...
- tig - 必知的git界面化工具
- 数据时代程序员必备技能:数据可视化
- 交叉编译wpa_supplicant常见问题总结
热门文章
- python 笔记:csv 读写
- NTU 课程笔记 CE7454(2) 概率论
- 文巾解题 leetcode1442. 形成两个异或相等数组的三元组数目
- 数据中台实战(八):如何打造可以支撑N条产品线的标签平台
- tableau必知必会之学做直观的华夫饼图(Waffle Chart)
- 基于SIFT特征的全景图像拼接
- 算法工程师如何改进豆瓣电影
- 数字图像处理---有关特征提取的相关概念
- aws java mysql_AWS Serverless部署java api(RDS for MySQL篇)
- ai作文批改_全球第一份机器人批改的作文 阿里AI批改中文试卷