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

云南网站建设专业品牌网络推广是什么工作内容

云南网站建设专业品牌,网络推广是什么工作内容,上海史特信息技术有限公司,自己做的网站能放到阿里云上目录 1. 复写零 2. 算法原理 一般情况下 改为就地操作:从左到右(错误) 从右到左 总结一下解决方法: 如何找到最后一个复写的数 特殊情况 完整步骤: 3. 代码 1. 复写零 题目链接:1089. 复写零 - 力…

目录

1. 复写零

2. 算法原理

一般情况下

改为就地操作:从左到右(错误)

从右到左

总结一下解决方法:

如何找到最后一个复写的数

特殊情况

 完整步骤:

3. 代码


1. 复写零

题目链接:
1089. 复写零 - 力扣(LeetCode)icon-default.png?t=O83Ahttps://leetcode.cn/problems/duplicate-zeros/description/

 


2. 算法原理

其实本题严格来说是一题半模拟半双指针的题目

一般情况

我们可以先进行异地操作,然后再优化成为双指针下的就地操作

   

当Cur遇到非0元素的时候,直接写下来,当遇到0的时候,就需要写两遍.....

   

  

改为就地操作:从左到右(错误

  

将两个指针定义到一个数组上

  

  

但是我们发现:当cur到达第一个0时,dest执行两次写入0,将原本2的值给覆盖掉了,那么整个数组都会出现错误,所以从左到右这个方法是不可以的

从右到左

那我们来试试从右到左能否成功

  

因为是从右到左,所以我们将dest指向最后一个数,cur指向最后一个复写的数,以示例1为例,就是指向4

  

如果cur当前指向的值不为0,那么就直接把cur指向的值写入dest,再同时--

    

如果cur当前指向的值为0,那么cur往左移动一位,dest移动2位

    

  

  

然后我们发现从右到左这种方法是可以的  

总结一下解决方法:

  

1. 先找到最后一个复写的数

  

2. 以从右到左的顺序完成复写操作

如何找到最后一个复写的数

   

双指针算法

  

1. 定义一个cur指向数组里第一个数的位置,dest指向-1的位置

   

因为要把dest定义为结果中最后一个的位置,因此我们只需要判断dest是否跑到最后一个位置就可以了

  

然后按照下面的步骤来重复进行: 

  

然后就找到最后一个复写的数了

  

特殊情况

当查找最后一个复写的数时cur为0时,我们会发现会出现访问越界的问题,会造成内存泄漏的情况

  

  

解决方法也很简单:我们直接将4这个位置也就是n-1变为0,然后再进行cur--,dest-=2

   

 完整步骤:

  

1. 先找到最后一个复写的数

  

2. 处理特殊情况  

3. 以从右到左的顺序完成复写操作


3. 代码

class Solution {
public:void duplicateZeros(vector<int>& arr) {//1. 先找到最后一个复写的数int cur=0,dest=-1,n=arr.size();while(cur<n){//先判断cur位置的值//不为0dest往后移动1步,为0移动2步if(arr[cur]) dest++;else dest+=2;//判断一下dest是否已经到达结束位置if(dest>=n-1) break;//n为size,在数组最后一个位置的下一个位置//cur++cur++;}    //2. 处理特殊情况 //如果dest越界if(dest==n){arr[n-1]=0;cur--;dest-=2;}//3. 以从右到左的顺序完成复写操作while(cur>=0){//如果cur当前指向的值不为0,那么就直接把cur指向的值写入dest,再同时--if(arr[cur]) arr[dest--]=arr[cur--];else{//为0要写2遍//然后cur往左移动一位,dest移动2位arr[dest--]=0;arr[dest--]=0;cur--;}}}
};

未完待续~

http://www.khdw.cn/news/1990.html

相关文章:

  • 保山网站建设厦门网站seo
  • 益阳网站建设在线识图
  • 哪个网站做相片书好谷歌浏览器网页版入口在哪里
  • 网站收录在下降人民网今日头条
  • 怎样搜网站网站建设网络公司
  • 电商网站设计是干什么的正规网站建设服务
  • ssm如何做网站验证登陆seo难不难学
  • 网站开发验收百度seo排名
  • 西山区城市建设局网站百度推广下载
  • 淘宝客做的比较好的网站网页设计与制作用什么软件
  • python 做的网站有哪些苏州seo优化
  • 个人网站怎么建设爱站之家
  • 注册代理记账公司需要什么条件关键词优化收费标准
  • 杭州p2p网站开发商百度怎么推广自己的产品
  • 有服务器和域名怎么做网站百度搜索简洁版网址
  • 大连华南网站制作公司网站收录免费咨询
  • 蓝色网站国外免费网站域名服务器查询软件
  • 专业网站建设哪里有seo外包服务项目
  • wordpress大主题上传优化设计六年级下册数学答案
  • 深圳网站运营外包公司百度认证中心
  • 东莞室内设计公司seo服务 文库
  • 酒类做网站百度seo找哪里
  • 做网站的工作流程深圳做网站
  • 洞口做网站的公司推荐资源优化排名网站
  • 独立网站电子商务公司百度推广课程
  • 龙湾网站建设seo怎么优化步骤
  • wordpress显示未开启stmp服务seo实战技术培训
  • 个人网站建设主要功能百度网站ip地址
  • 做网站要求什么关键词推广优化外包
  • 南宁做网站哪家公司好谷歌外链