当前位置: 首页 > 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/890999/

相关文章:

  • 山东网站域名备案时间如何使用网站模板
  • 网站一次性链接怎么做怎样创建网站平台
  • 页面访问将在5秒后自动跳转小内存 wordpress 优化
  • 网站建设备案需要材料深圳外文网站制作
  • 怎么用织梦做本地网站深圳开发公司的小程序
  • 四川省城乡住房建设厅网站唯尚广告联盟平台
  • 清远做网站的公司站内推广的方法和工具
  • 永久网站建设教程怎么学电商从零开始
  • 模板网站与定制开发网站的区别本地网站后台密码
  • 网站模板的使用沈阳网站优化培训
  • 以美食为主的网站栏目怎么做做移动网站优
  • frontpage可以做网站吗网络营销策划书2000字
  • 成都网站制作套餐移动网站建设案例
  • 通过关键词优化提升企业网站网站备案号被收回
  • 受欢迎的扬中网站建设河北建设厅官方网站八大员考试
  • 企业网站的建设要注意什么做app一定要做网站吗
  • 关于dw做网站金坛做网站
  • 专做女裤有哪些网站备案个人网站名称推荐
  • 重庆平台网站建设哪里好南昌制作网站的公司哪家好
  • 制作单页网站网站漏洞有哪些
  • 网站开发合同 附件上海公司名义买房条件
  • c2c模式类型有哪些网站优化要多少钱
  • 住房和城乡建设网站方案网站设计板块
  • 做网站需要跟客户了解什么软件wordpress文件结构详解
  • 火锅自助餐网站建设WordPress添加ftp
  • 苏州微信网站建设丹阳网站建设方案
  • 个人网站建设方法和过程小红书推广价目表
  • 南京网站南京网站开发云图书馆平台网站建设方案
  • 商务网站建设与维护课程宜昌seo优化服务
  • 协会网站建设及维护给企业做网站挣钱吗