首页 > 其他分享 >75.颜色分类

75.颜色分类

时间:2022-11-13 17:33:06浏览次数:34  
标签:颜色 cur nums 示例 分类 len 75 return

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

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

必须在不使用库的sort函数的情况下解决这个问题。

示例 1:

输入:nums = [2,0,2,1,1,0]
输出:[0,0,1,1,2,2]

示例 2:

输入:nums = [2,0,1]
输出:[0,1,2]

提示:

  • n == nums.length
  • 1 <= n <= 300
  • nums[i] 为 01 或 2

进阶:

  • 你可以不使用代码库中的排序函数来解决这道题吗?
  • 你能想出一个仅使用常数空间的一趟扫描算法吗?

方法:双指针

 1 /**
 2  * @param {number[]} nums
 3  * @return {void} Do not return anything, modify nums in-place instead.
 4  */
 5 var sortColors = function (nums) {
 6     let len = nums.length, cur = 0, p0 = 0, p1 = len - 1;
 7     while (cur <= p1) {
 8         function swap(a, b) {
 9             let temp = nums[a];
10             nums[a] = nums[b];
11             nums[b] = temp;
12         }
13         if (nums[cur] === 0) {
14             swap(cur, p0);
15             cur++;
16             p0++;
17         } else if (nums[cur] === 2) {
18             swap(cur, p1);
19             p1--;
20         } else {
21             cur++;
22         }
23     }
24 };

 

标签:颜色,cur,nums,示例,分类,len,75,return
From: https://www.cnblogs.com/icyyyy/p/16886382.html

相关文章

  • 硬件工程师的分类
    硬件工程师分很多方向,如何突破硬件工程师发展瓶颈,最重要的是需要熟悉公司产品线,积累相关知识,找到技术发展的关键点并占领住。评价硬件工程师,主要还是看学习能力以及基础......
  • python输出带颜色字符串
     字体颜色print('\033[1;30m%s\033[0m'%("*"*116))print('\033[1;31m%s\033[0m'%("*"*116))print('\033[1;32m%s\033[0m'%("*"*116))print('\033[1;34m%s\033......
  • Web大学生网页作业成品——环保垃圾分类网站设计与实现(HTML+CSS+JavaScript) web前端
    ......
  • SQL语句的分类
    目录SQL语句的分类DQLDMlDDLTCLDCL:SQL语句的分类DQL数据查询语言(凡是带有select关键字的都是查询语句)selectDMl数据操作语言(凡是对表中数据进行增删改的都是DML)增:in......
  • #10075. 「一本通 3.2 练习 1」农场派对
    图上每个点有一头牛,现在牛群聚集到点X上聚会,然后又回到各自的点,而且牛只走最短路径问所有最短路中最长的一条(路径包含来回) 正反跑一次 spfa(X), spfa(i), an......
  • 自定义的Qt给统计图添加颜色样例控件
    本文主要是给博文“自定义的Qt折线图控件”的图表添加颜色样例。之所以分开叙述是因为本文也是自定义控件,它不仅可以给折线图添加,还可以给其他类型的图表(柱状图、饼形图等,......
  • CF1750E 题解
    没看懂官方社论,只好自力更生了。我们很容易知道,对于一段区间,其代价就是多余的括号数(左右括号中多出来的括号数)加上不属于多余括号,但没有匹配的左或右括号数。即左括号总量......
  • 【CSS】11 个 Sass 中常用的颜色函数,你需要知道一下
    今天我们来看一下Sass中的颜色函数,颜色函数可以分为三部分,分别是颜色设置、颜色获取以及颜色操作。Sass中的颜色函数有很多,下面我们来看一下这11个Sass中常用的颜色函......
  • python 修改ps背景颜色
    需要安装photoshop-python-api 1"""Changethecolorofthebackgroundandforeground."""2#Importlocalmodules3fromphotoshopimportSession4......
  • 框架介绍-软件架构和资源分类
    软件架构javaWeb:使用java语言开发基于互联网的项目软件架构:1.c/s:Client/Server客户端/服务器端在用户本地有一个客户端程序在远程有一个服务器端程序如:QQ迅雷.......