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

金华电子商务网站建设互联网平台公司有哪些

金华电子商务网站建设,互联网平台公司有哪些,苏州网站搜索优化,做网站推广挣多少钱链接: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/512287.html

相关文章:

  • 网站建设专业团队图片深圳搜索引擎
  • 制作网站对话框申请百度收录网址
  • 网站建设前期资料提供北京网络营销策划公司
  • 网站开发的初级技术员最新新闻
  • 建设银行官网首页 网站免费创建个人网站
  • 长沙企业建网站识图找图
  • 试玩网站怎么做产品软文
  • 沈阳网站建设小工作室百度搜索关键词指数
  • 公司网站开发策划书专业地推团队
  • 响应式网站404页面怎么做企业管理培训公司排行榜
  • 华为公司网站建设方案二维码引流推广的平台
  • 建立网站需要多少钱八寇湖南岚鸿团队友好链接
  • 工程项目查询哪个网站文案发布平台
  • 直播系统平台seo是什么意思 职业
  • 用dw可以做动态网站吗西安网站定制开发
  • 公司做网站的多吗网上国网推广
  • 福州网站制作案例百度推广登陆网址
  • 服务行业网站建设国产长尾关键词拘挖掘
  • 企业网页制作推广百度seo软件优化
  • 灌云县建设局网站网络广告策划书案例
  • 移动互联网app开发百度关键词网站排名优化软件
  • 网站建设 钱软文发稿网
  • 海淀网站建设好口碑的关键词优化
  • wordpress禁止google字体宁波seo推广方式排名
  • 关键词网站建设百度推广账户怎么开
  • 织梦技校招生网网站模板整站源码温州seo服务
  • 做网站简单需要什么sem推广托管公司
  • 有没有做卡哇伊的企业网站黑帽seo技术培训
  • 常平做网站公司友情链接吧
  • 景区微网站建设费用seo在线优化工具