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

常见的静态网站开发技术蓝色响应式机械类网站

常见的静态网站开发技术,蓝色响应式机械类网站,响应式网站源码下载,浙江华企 做网站怎么样双指针算法 定义两个指针,让后面的指针在数组中遍历,前面的指针先不动,符合题目要求时,让两个指针的数据进行交互,直到后面的指针走到数组结尾。 题目: 这个题,如果我们用两个数组下标去标记&am…

双指针算法

定义两个指针,让后面的指针在数组中遍历,前面的指针先不动,符合题目要求时,让两个指针的数据进行交互,直到后面的指针走到数组结尾。

 题目:

这个题,如果我们用两个数组下标去标记,一个遍历,一个交互(赋值),就会造成下面的结果

第一次复写时,发现数据已经被覆盖掉了,所以不可取。

其实,从前向后不行,从后向前可以,我们通过结果直到,数组的最后一个是4.

先让dest指向n-1。cur指向最后一个复写的数(4),然后判断,如果cur的值不为0,那么dest=cur,cur--,dest--;如果等于0,dest=0,dest-1=0,然后cur--,dest--。直到cur走到数组最开始。

现在问题就来到了,我们怎么找到哪个是复写的最后一个数?

这次我们就需要从前向后遍历了

cur指向0位置,dest指向-1.判断cur,不为0,dest++,如果dest++后不是在结尾,则cur++;为0,dest+=2,如果dest++后不是在结尾,则cur++。直到dest走到数组最后一个数字,此时cur就是复写的最后一个数。

但也有特殊情况比如:[1,0,2,3,0,4]。

我们走着走着发现dest突然越界了。dest访问到了n。

解决方法:我们发现出现这种错误的cur最后指向的一定是0,所以我们先让n-1等于0,然后,dest-=2,cur--。

最终代码如下:

void Solution(vector <int>&arr)
{int cur=0;  int dest=-1;int n=arr.size();//找到最后一个数while(cur<n){if(arr[cur]) dest++;else dest+=2;if(dest>=n-1) break;cur++;}//处理边界if(dest==n){arr[n-1]=0;cur--;dest-=2;}//从后向前复写while(cur>=0){if(arr[cur]) {arr[dest]=arr[cur];cur--;dest--;}else{arr[dest--]=0;arr[dest--]=0;cur--;}}
}

http://www.dtcms.com/wzjs/839232.html

相关文章:

  • wordpress做下载型网站6在线玩网页游戏
  • 浙江省龙泉市建设局网站保定建行网站首页登录
  • 途牛旅行网站建设策划书北京比较好的网站公司
  • 做个小网站多少钱做网站播放未上映的电影是侵权吗
  • 沧州网站建设一网美联商务网站建设兴田德润电话多少
  • 企业网站建设需要什么资料wordpress无限登录密码破解
  • 企业网站建设招标wordpress wpautop
  • 秦皇岛网站设计学校网站建设项目可行性分析
  • 前几年做那个网站能致富襄阳市建设工程造价管理站网站
  • 网站模板50元wordpress主题无法创建
  • 网站网站是怎么做的怎么外贸网站推广
  • 做网站之前备案新闻资讯建站服务商
  • 非凡免费建网站平台三水 网站建设
  • 做外贸的 需要什么样的网站海通建设集团有限公司网站
  • 网站建设免费模板宁波市建设工程监理协会网站
  • 用ih5做微网站专业网站设计定制
  • 站长工具网网站制作哪里好
  • 怎么做一个个人网站江苏电商网站开发
  • 新颖网站页面设计怎样制作网站教程
  • 哪些软件可以做网站wordpress模版如何修改底部信息
  • 网站建设服务器配置施工企业项目负责人现场带班时间
  • 做网站界面尺寸企业展厅建筑
  • 东莞网站设计如何以前的网站忘了怎么办啊
  • 网站开发的出路博客移植wordpress
  • 关于建设学校网站策划书的范本淘宝网站建设的优点
  • ps做的网站保存不了jpgwordpress文章博客模板
  • wordpress 最新一片文章盐城seo排名
  • 腾讯云对象存储wordpress嘉兴seo网站推广
  • 营销型网站建设的步骤流程是什么梨树县住房和城乡建设局网站
  • 网站案例鉴赏网页上视频如何下载