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

整体网站开发北京百度seo排名

整体网站开发,北京百度seo排名,四海网络网站建设咨询,哪个网站专门做灵异文双指针算法 1.算法题目(复写零)2.讲解算法原理3.编写代码 1.算法题目(复写零) 注意:不要越界,不能开额外的数组,只能从现有数组上进行操作,没有返回值。 2.讲解算法原理 解法:双指针操作 先根据“异地”操作&#xf…

双指针算法

  • 1.算法题目(复写零)
  • 2.讲解算法原理
  • 3.编写代码

1.算法题目(复写零)

在这里插入图片描述
注意:不要越界,不能开额外的数组,只能从现有数组上进行操作,没有返回值。

2.讲解算法原理

解法:双指针操作
先根据“异地”操作,然后优化成双指针的“就地”操作。
在这里插入图片描述

  • 先找到最后一个“复写”的数;
  • 双指针算法
    解释:用一个数组,让cur指向下标为0的位置,让dest指向下标为-1的位置,判断cur指向的元素是否为零,不为零dest向后移动一位,判断dest是否移动到最后一位,没有就再次移动cur一位,如果cur指向的元素为零,就要dest向后移动两位,再判断dest是否结束,结束就知道复写数组最后一个元素是什么。
  • 先判断cur位置的值
  • 决定dest向后移动一步或者两步
  • 判断一下dest是否已经到结束为止
  • cur++
  1. 处理一下边界情况
    因为dest可能存在越界的情况
n-1=0;
cur--;
dest-=2;
  1. “从后向前”完成复写操作;
    因为我们已经知道最后一个元素是什么了,”从后往前“复写也不会存在覆盖的情况。

3.编写代码

class Solution {
public:void duplicateZeros(vector<int>& arr) {//1.先找最后一个元素int cur = 0, dest = -1, n = arr.size();while (cur < n){if (arr[cur])dest++;else dest += 2;if (dest >= n - 1)break;cur++;}//2.处理边界问题if (dest == n){arr[n - 1] = 0;cur--; dest -= 2;}//3.从后向前完成复写while (cur >= 0){if (arr[cur])arr[dest--] = arr[cur--];else{arr[dest--] = 0;arr[dest--] = 0;cur--;}}}
};
http://www.dtcms.com/wzjs/407638.html

相关文章:

  • 广东建设营销型网站今天最新军事新闻视频
  • wordpress 附件储存seo免费优化
  • 中国华能集团电子商务平台下载班级优化大师
  • wordpress文件管理湖南有实力seo优化哪家好
  • 网站开发流程 百度文库公司官网搭建
  • 深圳公明做网站百度搜索风云榜小说排行榜
  • 网上拿手工做的网站企业课程培训
  • 微信网页制作网站建设东莞百度搜索优化
  • 河南省的网页制作抖音seo关键词优化
  • 懂福溶州做戒网站网站整体优化
  • 做的网站不能放视频软件汽车品牌推广策划方案
  • 全是图片的网站怎么做seo天津seo优化排名
  • 如何查看网站蜘蛛做网站的公司哪家最好
  • 帝国cms 做的完整的网站有没有百度云搜索资源入口
  • 谷歌网站怎么做排名线上培训平台
  • 建设网站需要什么要求深圳竞价托管
  • 建设信访建设网站的意义优化百度涨
  • wordpress 画图插件seo查询官网
  • 计算机网站开发图片郑州百度网站优化排名
  • 找人做淘宝网站多少钱搜索引擎优化要考虑哪些方面?
  • 活动营销推广方案成都网站排名 生客seo
  • 桂林网站网站建设seo首页关键词优化
  • 企业网站推广怎么做安徽网站优化
  • 网站开发应注意哪些问题营销方法有哪些
  • 广告装饰公司名字郑州网站seo服务
  • 西安 房产网站建设免费网页代码大全
  • 比较好看的企业网站如何免费注册网站
  • 如何在阿里巴巴建网站网络营销方法有哪些?
  • 没有网站可以做cpc吗企业整站优化
  • 建设网站需要虚拟空间嘛想要网站导航正式推广