当前位置: 首页 > wzjs >正文

网站备案注销怎么恢复游戏推广怎么做挣钱

网站备案注销怎么恢复,游戏推广怎么做挣钱,网站动态效果怎么做,男和男做那个视频网站好75. 颜色分类 📌 题目描述 给定一个包含红色、白色和蓝色的数组 nums(分别用整数 0、1 和 2 表示),请你原地对它们进行排序,使得相同颜色的元素相邻,顺序为: 红色 (0) → 白色 (1) → 蓝色 (…

75. 颜色分类

📌 题目描述

给定一个包含红色、白色和蓝色的数组 nums(分别用整数 0、1 和 2 表示),请你原地对它们进行排序,使得相同颜色的元素相邻,顺序为:

红色 (0) → 白色 (1) → 蓝色 (2)

要求:不能使用库函数 sort,且需要原地操作,空间复杂度为 O(1)。 

✨ 示例

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

💡 解法:三指针 + 一趟扫描(荷兰国旗算法) 

class Solution:def sortColors(self, nums: List[int]) -> None:"""Do not return anything, modify nums in-place instead."""# 三指针:left指向0的右边界,right指向2的左边界,curr遍历当前元素left, curr, right = 0, 0, len(nums) - 1while curr <= right:if nums[curr] == 0:nums[left], nums[curr] = nums[curr], nums[left]left += 1curr += 1elif nums[curr] == 2:nums[right], nums[curr] = nums[curr], nums[right]right -= 1# 注意:这里不能curr += 1,因为交换过来的元素需要继续判断else:curr += 1

📍 解题思路详解

这是经典的荷兰国旗问题,核心思想是使用三个指针划分区域:

  • left:左边界,所有 0 应该放在这里

  • right:右边界,所有 2 应该放在这里

  • curr:当前正在遍历的元素

🧠 三种情况:

nums[curr]操作指针更新
0left 交换left += 1, curr += 1
1保持不动curr += 1
2right 交换right -= 1(curr 不变)

⏱️ 时间与空间复杂度

  • 时间复杂度O(n),每个元素最多只被遍历一次

  • 空间复杂度O(1),原地排序,无额外空间

🔚 总结

本题考察对原地排序、双指针/三指针技巧的掌握,是一道非常经典的数组类面试题。务必熟练掌握!

 

http://www.dtcms.com/wzjs/169347.html

相关文章:

  • iis网站服务器安全隐患外贸网站免费推广
  • 服装电子商务网站建设拉新推广平台
  • 做棋牌推广网站违反不seo关键词优化软件
  • 江西南昌电子商务网站建设公司西地那非片多少钱一盒
  • 免费做金融网站湖南百度seo排名点击软件
  • 开封景区网站建设项目方案昆明网站seo优化
  • 做神马网站优公司员工培训方案
  • 什么网站做电气自动化兼职网络销售工作靠谱吗
  • 关于网站备案前置审批的相关说明 吉林市场调研报告范文3000字
  • 开发公司未售房产交的取暖费应走什么科目seo外链软件
  • 做电商网站价钱网络营销典型案例
  • 电脑系统重装后没有wordpressseo指导
  • 昆明网站建设公司百度搜索 手机
  • 独立站建站模板互联网营销师报名费
  • 企业网站建设找哪家现在做百度推广有用吗
  • ftp网站上传 方法小红书seo排名优化
  • 商丘企业做网站google引擎入口
  • 陕西建设网三类人员全国推广优化网站
  • 做相册网站logo百度快速收录办法
  • 广西 网站建设搜索百度指数
  • 黄石规划建设局网站app地推网
  • 做简单网站代码seo优化的价格
  • 怎么建自己的平台云南网站seo服务
  • 开发工具eclipse推广优化排名
  • wordpress去水印网站站长seo推广
  • 大连网站开发 简维科技seo文章关键词怎么优化
  • wordpress网页上传今日头条关键词排名优化
  • 龙岗网站设计公司seo是什么职位
  • 姑苏区网站建设贵阳百度推广电话
  • 网站开发工程师就业前景产品推广软文200字