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

施工程找工程做哪个网站好建设网站源码

施工程找工程做哪个网站好,建设网站源码,网站开发与应用 论文,无锡高端网站制作力扣 283 移动零 解法一:双指针 定义一个指针 cur 去遍历数组 ; 定义一个指针 dest 去指向已处理区间中,非零的最后一个位置。 然后让 指针 cur 遇到 0 ,就往后走 ; 遇到的数不是 0 ,就与 dest指针的下…

力扣  283 移动零

解法一:双指针

定义一个指针  cur  去遍历数组 ; 定义一个指针 dest 去指向已处理区间中,非零的最后一个位置。

然后让 指针 cur 遇到 0 ,就往后走 ; 遇到的数不是 0 ,就与 dest指针的下一个数交换位置,直至将数组遍历结束为止。

cur 指向不是0 的位置

让dest+1位置的数与cur 位置的数交换,swap(nums[cur], nums[dest+1)

 

 两个指针的向前走一步。

代码实现:

class Solution {
public:void moveZeroes(vector<int>& nums) {int dest = -1;int cur = 0;while(cur < nums.size()){if(nums[cur] == 0){cur++;}else{swap(nums[dest+1],nums[cur]); //有封装的交换函数dest++;   //vector里面封装的swap是将两个数组进行交换,而不是两个数cur++;}}}
};

 解法二:

同样使用双指针,i 和 j ,不过不是使用交换,而是将后面的非零元素覆盖前面的0元素。

使用指针 i 去遍历数组 ; 如果指针 i 遇到零 , 就 i ++ ; 否则就将指针 i 位置的值赋给 指针 j 位置的值,然后 i ++ , j ++; 最后将 j 后面的元素全部赋值为零。

class Solution {
public:void moveZeroes(vector<int>& nums) {int i = 0, j = 0;while(i<nums.size()){if(nums[i] ==0){i++;}else{nums[j] = nums[i];j++;i++;}}//将 j 后面的元素赋值为0 while(j<nums.size()){nums[j] = 0;++j;}}
};

解法三:

使用指针 cur 遍历数组 , 如果遇到零 , 删除当前位置的零元素,并在数组末尾插入一个零元素;如果遇到的不是零, cur直接往后面走一位。

class Solution {
public:void moveZeroes(vector<int>& nums) {int len = nums.size();  // 用len来限制循环次数int cur = 0 ;while(len > 0){if(nums[cur] ==0){nums.erase(nums.begin()+cur);nums.push_back(0);}else{++cur;}--len;}}
};

解法四:

用来优化解法三的算法,解法三中,在指针cur 走到后面全零区间的第一个元素时,就已经满足题目要求的结果了,应当结束,但解法三多走了 x 步(x为数组nums中零元素的个数),因此需要记录数组非零元素的个数,当指针 cur 等于非零元素个数时,就结束循环。

class Solution {
public:void moveZeroes(vector<int>& nums) {int count = 0; // 记录数组非零元素的个数for(int i = 0 ; i< nums.size();++i){if(nums[i] !=0){++count;}}int cur = 0 ;while(cur < nums.size()){if(nums[cur] ==0){if(cur == count){break;}nums.erase(nums.begin()+cur);nums.push_back(0);}else{++cur;}}}
};

 

http://www.yayakq.cn/news/117651/

相关文章:

  • 网站支付宝网上支付功能怎么做宣武网站开发
  • 一级a做爰片在线看网站怎么查网站关键词密度
  • 中国城乡建设部网站首页中国建设银行网站是什么
  • 网站密码管理制度常德论坛市民留言
  • 网站开发转码手机武清网站建设
  • jsp购物网站开发 论文导购类网站模板
  • 泰安网站建设找工作北京关键词优化平台
  • 在线制作公司网站WordPress菜单过滤器
  • 网站设计的任务做网站责任
  • 免费 网站建设静态网页模板源代码
  • 北京网站建设有哪些公司好wordpress制作上传图片
  • 网站建设挂什么费用怎样做网站呢
  • 湖北建设信息网站wordpress 手机端页面
  • 广州网站制作电话域名网站做优化外链
  • 吉安做网站的公司专业团队打造专业品质
  • 做卖图片的网站能赚钱吗科技与生活
  • 做休闲会所网站制作wordpress出售功能插件
  • 购物网站二级店铺mvc怎么编辑网站源码
  • 申请企业资助建设网站网站模板 国外
  • 北京市住房建设官网站山西泽庆建设公司官网
  • 怎么自己做购物网站房产网址
  • 网站建设需求分析的实施北京网站设计公司hlh成都柚米科技15
  • 网站设计软件河南的网站建设公司
  • wordpress 留言墙插件seo竞争对手分析
  • 个人网站设计论文模板四川建设网有限责任公司是国企吗
  • 建一个类似淘宝的网站需要多少钱虚拟主机能建设网站吗
  • 中国建设监理网站企业网站建设哪家优惠
  • vip影视建设网站官网核心关键词和长尾关键词举例
  • 网站建设费的账务处理wordpress mysql 密码重置
  • 申请好域名后怎么建设网站创意设计网页制作教程