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

- 解法一

思路: 哈希计数,拷贝回去。

代码如下:

class Solution:def sortColors(self, nums):countEle = {i: 0 for i in nums}for i in nums:countEle[i] += 1tmp = []for i in (0, 1, 2):tmp += [i] * countEle[i]return tmp

解法二

经典的荷兰国旗问题,把一个数组分成三部分.
代码如下:

class Solution:def sortColors(self, nums):start = index = 0end = len(nums) - 1while index <= end:if nums[index] == 0:nums[index], nums[start] = nums[start], nums[index]index += 1start += 1elif nums[index] == 1:index += 1else:nums[index], nums[end] = nums[end], nums[index]end -= 1return nums

颜色分类python(leetcode)相关推荐

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

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

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

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

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

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

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

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

  5. LeetCode - 75 颜色分类

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

  6. python 三指针解决颜色分类

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

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

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

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

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

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

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

最新文章

  1. vue 函数 路由跳转_vue路由的钩子函数和跳转
  2. iservice list方法_MyBatis-Plus 通用IService使用详解
  3. tablewidget字体显示不全_ios 容器内容显示原理及调整
  4. springsecurity不拦截某个接口_SpringSecurity 默认表单登录页展示流程源码
  5. hashCode() 和equals() 区别和作用
  6. CentOS 7.6 安装 Maven 3.6.3
  7. microsoft ppt制作小技巧
  8. C# 屏蔽windows功能键
  9. quick time不可用是什么意思_农村谚语“不可不算,不可全算”是什么意思?
  10. stm32 某个io引脚不能拉高_【stm32f407】IO引脚复用和映射
  11. 计算机ps一级知识点,2017年计算机等级一级Photoshop常考知识点
  12. 新媒体运营神器-迅捷旗下的这些媒体软件简直要逆天了!
  13. 主流开源 BI 产品对比
  14. 图片去水印Inpaint5.2汉化破解便携版
  15. 警方抓获百度网盘“破解版”Pandownload开发者
  16. 雷霆传奇linux源码,【雷霆传奇H5服务端】2020.07首发超漂亮大翅膀传奇网页游戏客户端[附超详细搭建教程]...
  17. 狼派CIY68客制化组装
  18. 互信息配准matlab,基于图像特征和互信息的图像配准方法
  19. 工作室课题—质因数2
  20. 基于SpringBoot的学生成绩管理系统

热门文章

  1. 数字音频处理--延时音效实现
  2. P3P相机姿态估计数学推导,求解及自定义实现
  3. Webshell上传方式
  4. 五款资深高效的开源Web性能测试工具
  5. 【自然语言处理】-nltk库学习笔记(一)
  6. C盘下各个文件夹简介
  7. vb.net datetimepicker上个月到现在的天数_二手车商库存管理的四大段位,你现在处在哪个段位?...
  8. 其实你也可以做出一个抖音(文末实战项目分享)
  9. Java类变量(静态变量)
  10. redis哨兵模式讲解