python 三指针解决颜色分类

用PYTHON做一个动态钟表 好,我们先定一下我们需要用到的几个函数:首先是main()主函数(老板)然后我们需要一个画钟表的函数—— drawClock()和skip()接着我们需要一个得到正确时间的函数——getRealtime(),getWeek(),getDate()最要一个画指针的函数——makePoint(),drawPoint()... 阅读详情

颜色分类


给定一个包含红色、白色和蓝色,一共 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, 0

        while i <= q:
            # 当遍历到的元素等于0时, 与p指针对应的元素进行交换,并且向后移动一个元素继续比较
            if nums[i] == 0:
                nums[p], nums[i] = nums[i], nums[p] 
                p += 1
                i += 1
            # 当便利的与元素等于2时,与q指针对应的元素进行交换
            # (不需要移动当前的i指针,需要再次去比较一下)原因是有可能当前元素
            elif nums[i] == 2:
                nums[q], nums[i] = nums[i], nums[q]
                q -= 1
            else:
                # 如果等于便利的元素等于1的时候 直接跳到下一个元素
                i += 1
Python基于OpenCV的指针式表盘检测系统 识别难点: 1.内表盘很深,导致内表盘面阴影严重,给内椭圆的识别增加难度。 2.电表外轮廓反光严重,如果采用点光源照明,会产生亮斑和眩光现象。 3.电表内表盘反光严重,导致不同角度颜色不同,不利于阈值的设置。 4.电表外轮廓经过打磨圆角处理,导致识别的椭圆外轮廓精度下降。 表盘特点:刻度盘和指针具有颜色,而且不同的颜色区间代表不同的刻度值范围。 1.可以识别不同光照条件下的表盘:强光、正常光、弱光、点光源、平行光源等。 2.可以识别不同拍摄角度的表盘:正面、左斜侧、右斜侧、前斜侧、后斜侧等。 3.可以识别不同距离的表盘:近距离拍摄、中距离拍摄、远距离拍摄等。 4.可以识别带干扰颜色的场景:红色桌子、白色墙纸、绿色桶、蓝色盆子等。 5.可以识别不同尺寸、像素的表盘照片。 6.识别效率高:整个程序运行时间在10秒以内,而传统的椭圆检测程序就需要一分钟以上。 立即下载

相关推荐

单相全桥逆变三种SPWM调制方式(单极/双极/倍频)到底怎么选?一篇讲透优缺点与选型

本文深入解析单相全桥逆变器中单极性、双极性和单极性倍频三种SPWM调制方式的原理与工程选型策略。通过对比开关损耗、谐波特性和驱动复杂度等关键指标,提供基于STM32的实战方案和选型框架,帮助工程师在新能源发电、电机驱动等应用中做出最优决策。

weixin_34046298的博客 807

颜色分类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] 解析:原地排序一般都是使.

皮_客的博客 2407

从Reset到Read:深入解析Rolling Shutter曝光流水线

本文深入解析Rolling Shutter(卷帘曝光)的工作原理,重点探讨Reset和Read信号在图像传感器中的关键作用。通过Reset-Read流水线机制,详细解释了曝光控制、时序调优及运动伪影补偿等核心技术,帮助读者理解卷帘曝光在高速摄影和动态场景中的应用。

weixin_42531925的博客 254

opencv+python 鼠标指针颜色检测

该模块有助于了解opencv中颜色的分布,返回rgb值并在屏幕左上角显示出来import numpy as np import math import cv2 import time ix=1 iy=1 f=[] a=1 b=1 c=1 ixx=1 iyy=1 def nothing(x): pass def onmouse(event,x,y,flags,param): glob...

dgut_guangdian的博客 2738

基于LSTM的多变量温度预测(python从入门到入坑)

基于LSTM的多变量温度预测(python) ——我保证他能够运行,而且结果能够让你满意(如果你和我一样都是一个新手的话) 这里写目录标题基于LSTM的多变量温度预测(python)——我保证他能够运行,而且结果能够让你满意(如果你和我一样都是一个新手的话)一、我为什么要写这些?二、具体做了什么?三、源代码切块加注释,恳请批评指正(●’◡’●)ノ 一、我为什么要写这些? 因为让人抓狂的课程大作业,我小组选择了一个多变量预测方面的课题,在我这个大三基本上还没接触过Python数据处理,甚至对神经网络什么的都

代码之狐的博客 1万+

LS-DYNA超高速碰撞仿真入门:从SPH算法配置到铝靶板穿孔分析(附K文件模板)

本文详细介绍了使用LS-DYNA中的SPH(光滑粒子流体动力学)算法进行超高速碰撞仿真的完整流程。以铝弹丸撞击铝靶板为例,从SPH算法原理、LS-PrePost前处理、材料模型与状态方程设置,到接触定义、边界条件及K文件生成,提供了系统的入门指导和关键参数调试经验,帮助工程师高效模拟材料破碎、穿孔等极端变形问题。

h0i1j2k3l的博客 726

python动态时钟代码_python使用tkinter实现浮动窗口动态实时显示时钟

本案例是一个小小的尝试,主要是使用tk窗体和label控件实现简单的时间显示功能,并实时展现当前的最新时间,形成动态的展示效果。案例中使用到的知识和技术点:1、TK窗体的基础属性配置2、标签(Label)的基础属性配置3、时间型数据的处理4、tk窗体的动态更新机制一、基础知识简介Tkinter 是 Python 标准 GUI 库,其最初是为 Tcl(这是一门工具命令语言,而不是某个电视机品牌)设计...

weixin_39597399的博客 742

ROS2_IGH方案配置(二)——Ubuntu22.04 实时内核性能验证与调优

本文详细介绍了在Ubuntu22.04系统上配置ROS2_IGH方案时,如何验证和调优PREEMPT_RT实时内核性能。通过使用cyclictest工具进行基准测试和压力测试,分析中断与硬件延迟,并优化内核参数,确保系统满足工业控制领域对硬实时性的苛刻要求。文章还提供了针对ROS2的特殊优化建议和性能监控方案,帮助开发者实现毫秒级延迟的稳定控制。

weixin_30791095的博客 224

【LeetCode】三指针(对只有三种元素的数组排序)--荷兰国旗问题

LeetCode75题目链接。 颜色分类 给定一个包含红色、白色和蓝色,一共n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 此题中,我们使用整数 0、1 和 2 分别表示红色、白色和蓝色。 注意: 不能使用代码库中的排序函数来解决这道题。 示例: 输入: [2,0,2,1,1,0] 输出: [0,0,1,1,2,2] 分析 当你一眼想起来的办法,基本上不是最好的办法。比如,基本的冒泡排序,甚至可以通过遍历三种颜色种类数量再按照......

凝眸伏笔的博客 1071

卷王问卷考试系统——测试报告

本问卷考试系统是一款在线平台,支持用户发布和完成调查问卷,并进行考试管理,核心功能在于简化问卷创建发布、数据收集及考试组织流程。此次测试将围绕其关键模块展开,涵盖用户注册登录、项目列表、我的练习以及我的题库等核心部分。问卷考试系统(一)硬件环境普通办公电脑(CPU:Intel i5 、内存:16GB 、硬盘:512GB )(二)软件环境操作系统:Windows 11 ;浏览器:Chrome(版本 120+)、Firefox(版本 115+)、Edge(版本 120+)验证界面信息在完整性、一致性、准确性和用

m0_73433755的博客 555

Transformer模型在时间序列预测中的应用:价格和产量预测

Transformer模型由Attention is All You Need论文提出,并在机器翻译任务上取得了巨大成功。其主要特点是使用自注意力机制代替传统的递归或卷积操作进行序列建模。Transformer模型由编码器和解码器组成,其中编码器用于学习输入序列的表示,解码器用于生成目标序列。在时间序列预测中,我们只需要使用Transformer的编码器部分。编码器将历史数据作为输入,学习一个表示,然后使用该表示来预测未来的数值。

HnrzLinux的博客 738

【LeetCode 】颜色分类

颜色分类。使用三指针算法解决这个问题,为了避免特殊样例,再人为的添加了两个样本到数据集中,简化了运算过程。

说文科技,做有态度的研究。 1010

如何在 SAPGUI 里显示上传到 ABAP 服务器的 PDF 文件

在 SAPGUI 里显示 PDF 文件是实际项目中一个很有用的需求。因为在 SAP 实际业务场景中,有大量的流程会生成 PDF 格式的数据。把这种类型的数据输出显示在 SAPGUI 里,方便最终用户查看。本教程后续步骤,还会向大家介绍如何使用 ABAP 代码生成 PDF 格式的数据。本步骤只是简单的将本地 PDF 文件,上传到 ABAP 系统并显示在 SAPGUI 里。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2687

8.20笔记

75. 颜色分类(不能用内置函数,利用三指针的方法) def sortColors(self, nums): """ :type nums: List[int] :rtype: None Do not return anything, modify nums in-place instead. """ re...

sinat_35325378的博客 118

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

【力扣刷题python】

DFS 相同步长的所有路径个数。以值为键值,下标为值创建字典。动态规划 无初始化型。

he_Microsoft的博客 319

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

75. 颜色分类(三指针、Python)

学习三指针的思想及应用 题目描述 文章目录方法一:双指针(两遍循环)方法二:三指针(一遍循环)方法三:三指针(交换0和2) 方法一:双指针(两遍循环) 我们可以考虑对数组进行两次遍历。在第一次遍历中,我们将数组中所有的 000 交换到数组的头部。在第二次遍历中,我们将数组中所有的 111 交换到头部的 000 之后。此时,所有的 222 都出现在数组的尾部,这样我们就完成了排序。 具体地,我们使用一个指针 jjj 表示「头部」的范围,jjj 中存储了一个整数,表示数组 nums\textit{nums}.

稚嫩的劢劢的博客 362

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

LeetCode第75题_颜色分类

给定一个包含红色、白色和蓝色,一共n个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数01和2分别表示红色、白色和蓝色。:不能使用代码库中的排序函数来解决这道题。

qq_40263592的博客 1353

颜色分类(三指针)

颜色分类(三指针)

IT之一小佬的博客 296

LeetCode 75. 颜色分类(三指针,双指针)

官方题解方法: 其实感觉大致思想是一致的,不过确实写得简单明了多了。LeetCode 75. 颜色分类。

virtual_YL的博客 354

Leecode hot100 - 75. 颜色分类

给定一个包含红色、白色和蓝色、共n个元素的数组nums对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。我们使用整数01和2分别表示红色、白色和蓝色。必须在不使用库内置的 sort 函数的情况下解决这个问题。

2301_79601111的博客 794

LeetCode | 0075. Sort Colors颜色分类【Python】

LeetCode 0075. Sort Colors颜色分类【Medium】【Python】【荷兰旗】 Problem LeetCode Given an array with n objects colored red, white or blue, sort them in-place so that objects of the same color are adjacent, with...

Wonz 666

python颜色代码排序_LeetCode | 0075. Sort Colors颜色分类【Python】

LeetCode 0075. Sort Colors颜色分类【Medium】【Python】【荷兰旗】ProblemGiven an array with n objects colored red, white or blue, sort them in-place so that objects of the same color are adjacent, with the colors i...

weixin_39883194的博客 327

75. 颜色分类(Sort Colors)

75. 颜色分类(Sort Colors)题解三指针复杂度分析PythonJava(待完成) 题解 三指针 定义000的右界bound_0=0bound\_0=0bound_0=0,222的左界bound_2=n−1bound\_2=n-1bound_2=n−1,nnn为数组长度。curcurcur为当前元素。 当cur<=bound_2cur<=bound\_2cur<=bo...

朱师傅的博客 261

LeetCode【0075】颜色分类

题目难度:中等;数据结构:数组;应用算法:三指针

AnFany 1794

LeetCode python-75. 颜色分类

LeetCode python-75. 颜色分类 先看题目: (题目来力扣网站) 思路 ①创建三个指针 ②如果中间指针从头开始索引: 若值num[k]=0,则和nums[i] 的值交换位置,此时i+1,代表i+1之前的索引不用再检测,已经检测过了; 若值num[k]=2,则和nums[j] 的值交换位置,此时j-1,代表j-1之后的索引不用再访问,通过交换,已经知道后面的值; 若值num[k]=...

weixin_43675940的博客 279

leetcode刷题之 75.颜色分类

leetcode刷题之 75.颜色分类 题目: 给定一个包含红色、白色和蓝色,一共n个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、1和 2 分别表示红色、白色和蓝色。 注意: 不能使用代码库中的排序函数来解决这道题。 示例 : 输入: [2,0,2,1,1,0] 输出: [0,0,1,1,2,2] 进阶 : • 一个直观的解决...

胡萝卜 238
上一篇: python 合并区间
下一篇: 今天休息xxxxx
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一叶知秋的BLOG

创作不易 请多多关注

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值