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

网站建设平台赚钱wordpress island主题

网站建设平台赚钱,wordpress island主题,导出wordpress用户,郑州网站设计汉狮目录 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.yayakq.cn/news/160029/

相关文章:

  • 视频网站做app开发的网页设计怎样做一个网页
  • 网站建设优化哪家公司好郑州互联网公司排行榜
  • 如何分析网站功能自己如何做外贸公司网站
  • 网站建设报价ppt模版企业黄页88网
  • org 结尾的网站注册要什么手续东莞模板网站设计
  • 龙岗网站多少钱重庆做网站 外包公司
  • 网站宣传页.net网站开发岗位
  • 上海做网站的费用qq是哪个工作室开发的
  • 陕西省建设厅官方网站网络设计的内容是什么
  • 网站开发移动app时间管理系统 网站开发
  • 中国银行网站建设君临天下游戏网站开发者
  • 蚌埠市住房建设部网站常州网站制作哪家好
  • .la域名做的网站120平办公室装修设计
  • 网站建设企业网站优化wordpress卡片式
  • 景区网站建设策划书六安人事考试网官网
  • 温州网站建设方案好的设计作品网站
  • 三合一网站制作公司北京网站建设比较好的公司
  • 建南沙做网站公司设计师必去十大网站
  • dw网页制作教程装修手册同一个ip网站太多 seo
  • 网站外链是什么意思建立网站多少钱一年
  • 合肥网站建设方案重庆的网站建设
  • 网站做数据分析wordpress acf插件
  • 广东网站开发设计北京建筑信息平台
  • 物流企业网站建设方案python 网站开发实战
  • 怎么把网站做seo到首页深圳企业网页设计公司
  • 装修公司网站制作国外jquery特效网站
  • 网站建设参考文献2017wordpress条件查询插件
  • 手机号码定位网站开发定制网络营销计划
  • 泉州专业做网站开发台山网页设计培训
  • 九江网站推广3d绘图培训学校