LeetCode讲解篇之75. 颜色分类

server/2024/10/21 11:37:27/

文章目录

  • 题目描述
  • 题解思路
  • 题解代码

题目描述

在这里插入图片描述

题解思路

我们可以将最终结果看成连续的三个区间,第一个区间内全是0,第二个区间内全是1,第三个区间内全是2
,其中这三个区间的长度都可以为0
我们可以将不断扩张

我们记录0区间的右边界的下一个位置和2区间的左边界的下一个位置
在遍历过程中
遇到0,交换当前元素和0区间右边界的元素,然后0区间的右边界向后扩张,如果左边界的索引大于等于当前遍历的元素的索引,则当前元素索引后移
遇到1,则索引后移
遇到2,交换当前元素和2区间左边界的元素,然后2区间的左边界向前扩张

题解代码

class Solution:def sortColors(self, nums: List[int]) -> None:"""Do not return anything, modify nums in-place instead."""left, right = 0, len(nums) - 1i = 0while i <= right:if nums[i] == 0:nums[i], nums[left] = nums[left], nums[i]left += 1if left >= i:i += 1elif nums[i] == 1:i += 1else:nums[i], nums[right] = nums[right], nums[i]right -= 1

http://www.ppmy.cn/server/122869.html

相关文章

【HTTP 和 HTTPS详解】4

目录 HTTP 协议中的缓存 缓存控制标头 HTTP 中的身份验证和授权 基本身份验证 摘要式身份验证 开放授权 基于令牌的身份验证 JWT&#xff08;JSON Web 令牌&#xff09; Cookie 和会话 设置和管理 Cookie 设置Cookies 安全和 HttpOnly 标志 会话管理 替代数据存储…

Django+React+Neo4j实现的地质领域知识图谱系统

文章目录 1、系统实现功能2、知识图谱预览2.1 效果图2.2 前端React代码2.3 后端Django代码3、实体识别3.1 效果图3.2 前端代码3.3 后端代码4、实体查询4.1 效果图4.2 前端代码4.3 后端代码5、关系查询5.1 效果图5.2 前端代码5.3 后端代码6、地质知识概览6.1 效果图6.2 前端代码…

LIMS系统在设备管理中的核心价值

在现代实验室环境中&#xff0c;设备与仪器的有效管理成为了确保研究项目成功与效率提升的关键基石。然而&#xff0c;传统的手工管理方式在面对如此繁重的任务时&#xff0c;显得力不从心。效率低下、易出错、实时状态追踪困难等问题频出&#xff0c;不仅影响了实验室的日常运…

Spring、Spring Boot 和 Spring Cloud 的区别详解

在软件架构设计中&#xff0c;Spring、Spring Boot 和 Spring Cloud 是 Java 开发人员经常使用的核心框架&#xff0c;它们各自有着不同的功能定位和设计理念。本文将从框架特性、应用场景、优缺点等角度深入探讨它们的区别&#xff0c;并通过具体的开发场景加以说明。 1. 总体…

智能化引领等保测评新时代:AI与大数据的深度融合

随着信息技术的飞速发展&#xff0c;等级保护测评&#xff08;简称“等保测评”&#xff09;作为保障信息系统安全的重要手段&#xff0c;正迎来前所未有的变革。在这一背景下&#xff0c;人工智能&#xff08;AI&#xff09;与大数据技术的深度融合&#xff0c;正引领等保测评…

爬虫技术初步自学

目的 本篇文章实际上自学爬虫技术的学习一份学习笔记&#xff0c;希望可以对后学的小白起到帮助&#xff0c;也希望得到大佬的指点&#xff0c;若有错漏希望大佬指出。 初步认知 爬虫实际上是一个计算机程序。开发爬虫程序的常用语言是Python。&#xff08;Python我已经在五…

MFC - 复杂控件_1

前言 各位师傅大家好&#xff0c;我是qmx_07&#xff0c;今天给大家讲解复杂控件的相关知识点 复杂控件 进度条 绘图准备: 调整windows窗口大小、设置 Progress Control 进度条设置Button 按钮 添加进度条变量 m_Progress,通过按钮触发 void CMFCApplication2Dlg::OnBnCl…

smb文件夹共享设置

UOS统信三种不同场景的文件夹共享,分别是:1、UOS系统间的文件共享;2、Windows7系统访问UOS共享的文件;3、UOS系统访问Windows7共享的文件 文章目录 第二种场景:Windows7系统访问UOS共享的文件步骤一:设置共享密码步骤二:输入共享IP地址步骤三:输入网络密码步骤四:共享…