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

昆明网站seo公司武汉网优化seo公司

昆明网站seo公司,武汉网优化seo公司,asp.net做电商网站设计,蚌埠网站建设专业的公司题目解析 移动零 nums [0,1,0,3,12] [1,3,12,0,0]算法原理 数组划分(数组分块) 双指针算法(利用数组下标来充当指针)使用两个指针的作用: cur指针:从左往右扫描数组,就是遍历数组。 dest指针…

题目解析
移动零

nums = [0,1,0,3,12]
[1,3,12,0,0]

算法原理
数组划分(数组分块)

双指针算法(利用数组下标来充当指针)

使用两个指针的作用:

cur指针:从左往右扫描数组,就是遍历数组。
dest指针:已经处理之后的区间内,非零元素的最后一个位置

这两个指针将分隔为三个区间:

第一个:[0,dest]
第二个:[dest+1,cur-1]
第三个:[cur,n-1]

在这里插入图片描述

第一个:[0,dest] 非0元素
第二个:[dest+1,cur-1] 0元素
第三个:[cur,n-1] 未处理元素

在这里插入图片描述


[0,1,0,3,12]

在这里插入图片描述

当你遇到0元素的时候,只需要让cur向后移动一位即可
当你遇到非0元素的时候,需要让dest先去向后移动一位,然后交换dest与cur位置的元素,然后cur继续向后移动一位。

在这里插入图片描述
在这里插入图片描述

当cur遍历到n位置的时候,表示已经完成。

在这里插入图片描述
总结一下:

cur从前往后遍历的过程中,会有两种情况:1.遇到0元素:cur++2.遇到非0元素:swap(dest+1,cur)dest++,cur++

编写代码

class Solution {
public:void moveZeroes(vector<int>& nums) {for(int cur = 0,dest = -1;cur<nums.size();cur++){if(nums[cur]!=0){swap(nums[++dest],nums[cur]);}}}
};
http://www.dinnco.com/news/66301.html

相关文章:

  • 做公众号推送的网站app开发多少钱
  • 万全孔家庄做网站网站建设的公司
  • 做电子芯片的有那些交易网站全网推广软件
  • 网站建设合同违约制作网站的软件有哪些
  • 东莞制作公司网站引擎搜索下载
  • 广州网站建设 致茂关键词优化公司费用多少
  • 微信制作网站开发平台引流推广怎么做
  • 做一家网站要多少钱淘宝店铺推广方法
  • 哪个网站可以做思维导图锦州seo推广
  • 网站怎么推广怎么做的如何创建自己的网站平台
  • 嘉兴外贸网站制作长沙在线网站的目标客户
  • 中国建设委员会官网站百度seo优化排名客服电话
  • 南江县住房和城乡建设局网站互联网推广怎么找渠道
  • wordpress 不显示侧边栏seo是什么意思职业
  • 某某公司网络营销策划书西安关键词优化服务
  • 手机上的网页游戏奇零seo赚钱培训
  • 如何识别网站的建站程序关键词优化软件有哪些
  • 在哪个彩票网站是小黄人做头像的网络营销10大平台
  • 网站运营团队管理来宾网站seo
  • 地产网站建设国际婚恋网站排名
  • cnu摄影网站售卖链接
  • 白头鹰网站一天可以做多少任务推广普通话心得体会
  • 做去态网站要学java吗指数计算器
  • NET开发网站开发工程师招聘互联网推广是什么工作内容
  • 网站页面做多宽关键词的选取原则有
  • 有做任务赚赏金的网站吗企业推广哪个平台好
  • 商城网站系自媒体135的网站是多少
  • 素材网站整站下载站长之家的作用
  • 沧州做网站哪家公司好为什么不建议去外包公司上班
  • 超大尺寸哔哩哔哩网站交换链接网站