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

网络营销有哪些推广的方法如何做谷歌优化

网络营销有哪些推广的方法,如何做谷歌优化,温州市网站建设公司,顺德营销网站设计Problem: 1089. 复写零 文章目录 题目解析算法原理分析找到最后一个复写的位置从后往前进行复写操作 代码展示 题目解析 首先我们来分析一下本题的题目意思 可以看到题目中给到了一个数组,意思是让我们将数组中的零元素都复写一遍,然后将其余的元素向后平…

在这里插入图片描述

Problem: 1089. 复写零

文章目录

  • 题目解析
  • 算法原理分析
    • 找到最后一个复写的位置
    • 从后往前进行复写操作
  • 代码展示

题目解析

首先我们来分析一下本题的题目意思

  • 可以看到题目中给到了一个数组,意思是让我们将数组中的零元素都复写一遍,然后将其余的元素向后平移

1.jpg

  • 光就上面这样来看还是不太形象,我们通过画图来分析一下,通过下图我们可以看到,凡是0的都复写了两遍,凡不是0的都复写了一遍

2.jpg

  • 但是呢题目中很明显地讲到只能让我们在数组上进行就地操作,但是就我们上面的操作而言则是在另外开辟了一块数组的空间

那在下面我们就去考虑一下在数组原地的操作

  • 可以看到在下面我使用到了双指针的操作,若是cur遍历到0的话就进行两次的复写操作,不过呢大家可以看到在第一次的复写操作完成之后,【2】被覆盖了,但是这个【2】是我们需要的,那也就造成了一定的问题

3.jpg

💬 那么反应快的同学可以意识到,如果要进行覆盖操作的话就需要 从后往前 进行遍历操作才可以

算法原理分析

好,接下去呢我们就来分析一下解决本题的思路

找到最后一个复写的位置

  • 上面说到是要从后往前开始做复写操作,那么第一步我们所要做的就是找到最后一个复写的位置,即让这个dest指向最后的0

4.jpg

那要怎么去找呢?(头一次尝试幻灯片≧ ﹏ ≦)

可以分为以下几步:

  1. 判断cur位置的值,决定dest走一步还是两步
  2. 判断dest是否到达末尾,决定cur是否++

<图片名称1,图片名称2,图片名称3,图片名称4,图片名称5,图片名称6,图片名称7>


但是呢,就上面这样的逻辑去走的话其实是不对的,因为我们还未考虑到特殊的边界情况

  • 即下面的这种情况,当测试用例的倒数第二个数为0的时候,此时dest又刚好到这个位置,那么就需要向后移动两步,此时就造成了越界问题

12.jpg

所以此时我们应该要考虑处理一下这个边界问题

  • 因为倒数第二个数为0,那么对其进行复写操作的话,最后一个也是0,我们将其做一个修改即可,不过呢两个指针curdest也需要去做一个变化,cur前移一位即可,dest因为做了复写操作,所以需要前移两位

13.jpg

从后往前进行复写操作

上面呢,我们已经找到了需要复写的最后一个位置,那接下去我们就要正式开始复写操作了

  • 这一块的话就不做动画演示了,读者可以试着自己去手动模拟一下,也就是从我们上面所找到的cur位置开始,慢慢地向前遍历然后去做复写操作即可,将数一一地复写到dest所在的位置,如果arr[cur]为0的话,那我们就需要考虑复写两次了

14.jpg

代码展示

最后来展示一下整体的代码

class Solution {
public:void duplicateZeros(vector<int>& arr) {// 1.找到复写的最后一个位置// (1) 判断cur位置的值,决定dest走一步还是两步// (2) 判断dest是否到达末尾,决定cur是否++int dest = -1;int cur = 0;int sz = arr.size();while(dest < sz){if(arr[cur])  dest++;else   dest += 2;if(dest >= sz - 1)break;cur++;}// 2.判断边界的情况if(dest == sz){arr[dest - 1] = 0;cur--;dest -= 2;}     // 3.从右往左复写0while(cur >= 0){if(arr[cur]) arr[dest--] = arr[cur--];else{arr[dest--] = 0;arr[dest--] = 0;cur--;}}   }
};

下面是运行后的结果

15.jpg

在这里插入图片描述

http://www.15wanjia.com/news/36906.html

相关文章:

  • 服装网站建设公司哪家好竞价排名的定义
  • 锦州滨海新区城市建设规划网站可口可乐网络营销策划方案
  • 汕头模板建站软件nba在线直播免费观看直播
  • 政府网站源码下载网站老域名跳转到新域名
  • 虚拟主机 网站镜像站内推广方式有哪些
  • 网站制作公司北京网站建设公司锦绣大地seo
  • 佛山企业网站排名优化北京刚刚传来特大消息
  • 用vs做的网站怎么打开优化课程体系
  • 如何做日本语网站站长工具seo综合查询下载
  • 做vr网站线上宣传渠道和宣传方式
  • 网站开发的成本百度排行榜小说
  • 网站管理制度建设的情况百度爱采购排名
  • 如何保护自己的网站西安网站建设推广
  • 网络广告营销环境发生了哪些变化佛山百度网站排名优化
  • 私人公司怎么做网站百度app官网下载安装
  • 软件商城下载安卓版整站优化网站
  • 小程序网站开发怎么样网络seo哈尔滨
  • 贵州省和城乡建设厅官方网站seo模拟点击工具
  • 想自己做点飘纱素材到网站上买做高端网站公司
  • 12380网站建设存在的问题app拉新佣金排行榜
  • 用vs做音乐网站测试自己适不适合做销售
  • 苏州网站建设kgu云计算培训
  • 广告设计公司名称大全简单大气惠州抖音seo
  • 怎么做网站才能不被仿冒网站设计与实现毕业设计
  • 设计欣赏网站免费建自己的网址
  • 温州做模具的网站网络推广软文
  • 网站中 点击出现登录框怎么做泉州seo代理计费
  • 西安做网站-西安网站建设-西安网站制作-西安网络公司_千秋网络谷歌推广
  • 建设网站 程序员的提成免费源码网站
  • 自己怎么做短视频网站网站注册查询官网