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

网站建设最新流行网站怎么推广

网站建设最新流行,网站怎么推广,通过域名打开网站是做映射么,做网站seo优化链接:1089. 复写零 - 力扣(LeetCode) 双指针的基本思想: 首先根据异地操作确定指针的基本步骤,再将异地操作优化成原地操作的双指针解法 题解: 异地操作: fast指针指向原数组,…

链接:1089. 复写零 - 力扣(LeetCode) 

双指针的基本思想:

首先根据异地操作确定指针的基本步骤,再将异地操作优化成原地操作的双指针解法

题解:

异地操作:

fast指针指向原数组,slow指向新数组。fast指针遍历原数组,如果fast遇到0,slow指针位置和其下一位置都为0,slow+=2;如果fast遇到非0,slow指针位置拷贝该非0元素,slow+=1。当slow超过数组大小时停止。

优化后的双指针本地操作:

fast和slow初始都为0,fast指针遍历数组,如果fast遇到0,slow位置及其下一位置都为0,slow+=2。但是很明显这样是行不通的,因为slow连续两个位置都是0,会覆盖还没有被fast遍历的元素,因此必须另辟蹊径。

逆序进行双指针操作,但是由于不能在超过数组长度的位置复写,所以要先确定最后一个复写的数。首先使用双指针正向遍历数组,不做任何操作,仅仅确定最后一个复写数的位置,让fast遍历数组,遇到0,slow+=2,遇到非0.slow+=1,当slow到达n-1位置时停止,不做复写操作。此时fast和slow都确定好了位置,从此处开始逆向复写数组,解决问题。

(注意:使用双指针正向遍历数组确定最后一个复写数位置时,当最后一个复写数为0时,slow会越界,因此必须进行额外处理,如果最后一个复写数为0,在逆序复写时,只将slow-1的位置复写为0,因为slow位置越界了)

class Solution {
public:void duplicateZeros(vector<int>& arr) {//确定逆序开始的位置int fast = 0, slow = -1;int n = arr.size();for (; fast < n; fast++){if (arr[fast] == 0) slow += 2;else slow += 1;if (slow >= n-1) break;}//处理边界条件if (slow == n){arr[slow - 1] = 0;slow -= 2;fast -= 1;}//逆序复写0for (; slow >= 0; fast--){if (arr[fast] != 0){arr[slow] = arr[fast];slow -= 1;}else{arr[slow] = arr[slow - 1] = 0;slow -= 2;}}}
};
http://www.dtcms.com/wzjs/85541.html

相关文章:

  • 第六感聊城网站建设seo型网站
  • 建站的方式有哪些线上营销的优势和劣势
  • 网站产品数据如何恢复百度登录入口百度
  • 知名品牌logo标志设计解析谷歌seo是什么
  • 西安市城乡建设委员会查询网站推广普通话手抄报简单
  • 购物网站建设合同网络营销策划的具体流程是
  • 杭州网站建设怎么让百度收录
  • 模块网站怎么做百度百度一下一下
  • 河南网站排名优化价格原创文章代写
  • 为什么访问外国网站速度慢关键词优化排名
  • 安卓seo是什么意思的缩写
  • 学校网站php源码|班级主页教师博客学生博客|学校网站织梦仿制作网页需要多少钱
  • 网站服务器建设教程百度搜索关键词指数
  • 工商局网站怎么做身份确认温州seo网站建设
  • 男女做那个视频网站抖音搜索seo排名优化
  • 企业建设网站需要服务器吗武威网站seo
  • 宝鸡市做网站的公司有哪些有实力的网站排名优化软件
  • asp网站安全如何做seo网络推广技术
  • p网站建设免费网站入口在哪
  • 做农产品网站需要做的准备网上学电脑培训中心
  • 加强政府网站建设推进会百度推广渠道商
  • 商城网站建设 上海如何做好网络营销?
  • 网站建设如何来选择空间电商怎么推广自己的产品
  • 中企动力做网站多少钱百度推广优化怎么做的
  • 全套网站设计价格东莞营销推广公司
  • b2b2c网站建设seo网站营销推广
  • wordpress文章发布器引擎seo优
  • 太原做网站哪家公司好2022好用值得推荐的搜索引擎
  • 网站建设策划图片百度指数手机版
  • 做网站虚拟主机哪家好百度联盟广告