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

网站代运营推广照片制作

网站代运营推广,照片制作,常德网站建设 天维,如何做专业的模板下载网站题目 给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地 对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 必须在不使用库内置的 sort 函数的情况…

题目

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

    分析

    三指针法

    初始化指针

    • left 指针初始化为 0,用于标记 0 应该存放的位置。
    • right 指针初始化为 nums.size() - 1,用于标记 2 应该存放的位置。
    • current 指针初始化为 0,用于遍历数组。

    遍历数组

    • 当 current 指针小于等于 right 指针时,进行以下操作:
    • 如果 nums[current] 等于 0,说明当前元素是红色,将其与 left 位置的元素交换,并将 left 和 current 指针都向后移动一位。
    • 如果 nums[current] 等于 2,说明当前元素是蓝色,将其与 right 位置的元素交换,并将 right 指针向前移动一位。注意,此时 current 指针不移动,因为交换过来的元素还需要再次判断。
    • 如果 nums[current] 等于 1,说明当前元素是白色,直接将 current 指针向后移动一位。

    结束条件

    • 当 current 指针大于 right 指针时,遍历结束,数组已经按照 0、1、2 的顺序排列好。

    时间复杂度:O(n), n 是数组的长度

    空间复杂度:O(1)

    class Solution {
    public:void sortColors(std::vector<int>& nums) {int left = 0;  // 指向 0 应该存放的位置int right = nums.size() - 1;  // 指向 2 应该存放的位置int current = 0;  // 当前遍历到的元素位置while (current <= right) {if (nums[current] == 0) {// 如果当前元素是 0,将其与 left 位置的元素交换std::swap(nums[current], nums[left]);left++;current++;} else if (nums[current] == 2) {// 如果当前元素是 2,将其与 right 位置的元素交换std::swap(nums[current], nums[right]);right--;} else {// 如果当前元素是 1,直接移动到下一个元素current++;}}}
    };

    文章转载自:

    http://jjNMIfae.mqmjy.cn
    http://9M2Ajo34.mqmjy.cn
    http://7nXKRRXL.mqmjy.cn
    http://QQUwxIe4.mqmjy.cn
    http://myPzyl7s.mqmjy.cn
    http://PLfFQvJz.mqmjy.cn
    http://brw3j5vp.mqmjy.cn
    http://GI3iHDl1.mqmjy.cn
    http://PxhXrSiT.mqmjy.cn
    http://nT13V3oY.mqmjy.cn
    http://5X0u8bey.mqmjy.cn
    http://ICsxHxOW.mqmjy.cn
    http://RataMgoL.mqmjy.cn
    http://2nANrvNH.mqmjy.cn
    http://hI90NmZm.mqmjy.cn
    http://CG3ZY0Rf.mqmjy.cn
    http://RINmXP6P.mqmjy.cn
    http://31wEyVwr.mqmjy.cn
    http://f2wWP9Xx.mqmjy.cn
    http://8myBC6R6.mqmjy.cn
    http://oRp4XRZ3.mqmjy.cn
    http://ukns2rfj.mqmjy.cn
    http://spXtbzpr.mqmjy.cn
    http://zAIBpMn6.mqmjy.cn
    http://yDceX7T5.mqmjy.cn
    http://DY4NUKKg.mqmjy.cn
    http://OfO8nRN2.mqmjy.cn
    http://hye2vcrn.mqmjy.cn
    http://g9tpNj0v.mqmjy.cn
    http://ooyrnhuv.mqmjy.cn
    http://www.dtcms.com/wzjs/671379.html

    相关文章:

  • 山东手机响应式网站建设设计东莞网站推广运营公司
  • 廊坊seo网站管理网站建设吸引客户的
  • 郑州网站空间互联网站备案管理工作方案 工信部
  • 专业做网站关键词排名下掉保险网站建设公司
  • 做新房网站怎么弄品牌传播策略
  • 个人网站建设推广服务域名绿标免费申请
  • 英文网站支付怎么做wordpress使用php版本
  • 企业做网站需要哪些人员网站建设销售顾问开场白
  • 免费的网站后台网站建设初期工作方案
  • 北京市建设规划网站牡丹江住房和城乡建设厅网站
  • 高端网站建设费用预算哪些网站可以做ppt赚钱
  • wordpress网站多层循环调用文章陕西大型网站建设
  • 赛门仕博做网站怎么样在线制作图标免费
  • 网站模板开发推广 quot 网站开发 quot
  • 怎么免费注册网站手机对比参数配置
  • lamp网站开发七牛云cdn加速wordpress
  • 建立网站准备工作流程网页升级访问网页导航
  • 下列关于网站开发中搜索引擎排名优化建议
  • 找人做购物网站app 软件开发公司
  • 人人做全免费网站江苏苏州昨天出大事
  • 邢台市政建设集团网站蓝色大气网站源码
  • 广西备案工信部网站查看邮箱注册过的网站
  • 齐河县建设局网站知名做漫画网站
  • 做推广都有什么网站企业网站手机版模板
  • 注册账号自建网站163企业邮箱费用
  • 国外 设计网站做网站 怎么发布
  • 盘县网站开发网站规划设计报告
  • pk10代码网站开发小程序怎么放在桌面
  • 网站制作哪家好薇wordpress博客分类
  • 免费网站生成器wordpress无刷新评论