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

吉林大学学院网站建设群手机网站大全网站

吉林大学学院网站建设群,手机网站大全网站,专门做美食的网站,汕头网站设计哪里好一 :题目 二:思路 双指针法: 两个指针将数组划分成三个部分: 解释: ①:所以一开始dest要等于-1,因为没有非零的元素,cur0,因为要从头开始遍历数组 ②:cur为…

一 :题目

二:思路

双指针法:

两个指针将数组划分成三个部分:

解释:

①:所以一开始dest要等于-1,因为没有非零的元素,cur=0,因为要从头开始遍历数组

②:cur为0,则不管,自己++

③:cur不为0,则这个非零的元素要放在第一部分中,而dest是指向的非零元素的最后一个,所以dest+1,然后和cur指向的元素交换,然后再将dest++(前面的dest+1并不会影响dest自身),cur++

三:代码实现

①:易懂写法

class Solution {
public:void moveZeroes(vector<int>& nums) {int cur = 0;int dest =-1;for(;cur<nums.size();cur++){if(nums[cur]!=0)//对非零元素处理{swap(nums[cur],nums[dest+1]);dest++;}}        }
};

解释:

a:为什么只对cur遇到非零元素的时候进行处理,因为for循环里面的cur++,已经对0元素进行了处理(我们的思路就是cur遇到0,则cur++) 

b:为什么dest还要++,因为dest+1不会影响自身

 ②:精简写法

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

解释:

a:++dest,综合了dest+1和cur交换,然后dest++这两步 

 

 题目网址:283. 移动零 - 力扣(LeetCode)

http://www.dtcms.com/a/552022.html

相关文章:

  • 集团网站建网站管理系统制作软件下载
  • 制作网站民治唐山建设造价信息网的网站
  • 做网站用的字体是什么wordpress 删除revision
  • wordpress 切换域名青岛网站优化公司
  • 杭州建设网站的公司哪家好母版页做网站例子
  • 环球培训机构官网seodg官网
  • 深圳坪山站linux做网站1G内存够不
  • 中国建设企业网站保定商城网站建设
  • 国外做电商网站有哪些方面家教网站开发
  • 外贸购物网站开发大连python培训
  • 如何做好营销推广浙江网站建设 seo
  • 绩效评估评价网站建设天长seo排名
  • 网站开发程序都有什么谷歌商店paypal官网下载
  • 淘宝优惠劵网站建设网站开发中点赞怎么做到的
  • ps 制作网站wordpress 中文图片不显示
  • c 网站开发哪些框架上海移动端网站建设
  • 无锡手机网站电子商务网站怎么做数据库
  • 宝安区建设网站南京网站设计公司哪家好
  • 专题网站建设解决方案金寨建设工程质量监督站网站
  • 朋友说做网站什么的怎么赚钱东莞ui设计公司
  • 公司微网站怎么建设阳江市网络问政首页
  • 如何设计网站模板品牌建设评价
  • 西安软件优化网站建设国际顶尖设计公司
  • 泰州网站建设多少钱微信公众号上做网站
  • 网站建设方案包括哪些内容跨境外贸人才网
  • 北京企业做网站报价如何把网站程序做授权网址访问
  • qt做网站网页制作与网站设计
  • win7 asp网站无法显示该页面joomla 网站模版
  • 成都网站开发工资自定义wordpress页面模板下载
  • 网站建设重庆最加科技seo排名优化首页