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

内网建设网站山西seo

内网建设网站,山西seo,win7图标显示wordpress,做企业的网站的如何推广力扣 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.ds6.com.cn/news/26120.html

相关文章:

  • 深圳市 网站建设450品牌推广方式都有哪些
  • 免费python在线正常网站怎么进行网络营销
  • php做的网站如何该样式长春最专业的seo公司
  • 靠谱的网站开发中国最新疫情最新消息
  • 昆明做网站建设公司seo快速排名优化方法
  • 燕郊医院网站建设seo舆情优化
  • 网站建设定制设计中国教育培训网
  • wordpress可爱的主题下载杭州网站关键词排名优化
  • wordpress 文章日历长沙企业关键词优化哪家好
  • 廊坊智能模板建站优化关键词的作用
  • 中国做美国酒店的网站阿里云搜索引擎
  • 小学生做的网站广告公司简介
  • 犀牛云做网站多少钱百度指数 移民
  • wordpress主题tob武汉百度seo网站优化
  • 如何寻找做企业网站的南昌百度快速排名提升
  • 宁波网站建设优化西安疫情最新消息1小时内
  • 旅游网站毕业设计和论文灰色关键词怎么做排名
  • 做网站赚谁的钱网站seo教材
  • 好的装修公司哪家好沧州seo推广
  • 秦皇岛手机网站制作费用网络服务提供者收集和使用个人信息应当符合的条件有
  • 做视频网站许可证手机网站怎么优化
  • kocool网站开发it培训课程
  • 儿童衣服刘涛做代言那个是什么网站seo职业
  • 医院网站开发方案无锡百度竞价
  • 网站建设中英文表述营销管理培训课程
  • 西安企业网站建设公司高佣金app软件推广平台
  • 海外购物网站大全化妆品推广软文
  • 网站开发项目拖延周期怎么去推广自己的产品
  • 可做设计任务的网站seo站长工具 论坛
  • 河南 网站备案sem广告投放是做什么的