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

常见的静态网站开发技术那些开店的网站是自己做的吗

常见的静态网站开发技术,那些开店的网站是自己做的吗,网站导航栏分析,上海高端it网站建设双指针算法 定义两个指针,让后面的指针在数组中遍历,前面的指针先不动,符合题目要求时,让两个指针的数据进行交互,直到后面的指针走到数组结尾。 题目: 这个题,如果我们用两个数组下标去标记&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/614782.html

相关文章:

  • 网站ui设计是什么wordpress早期版本
  • 网站后台是怎么做的wordpress完美主题
  • 优质的天津网站建设深圳有什么网站
  • 建一个网站要...wordpress内网oss
  • 微软网站制作软件全球十大搜索引擎排名及网址
  • 兼职做网站在那里接任务广州网站建设 美词
  • 滨海专业做网站的公司电视剧下载网站免费糖醋蒜怎样做
  • 金华市网站建设广州招聘网网站开发
  • 网络营销导向型企业网站建设特征局域网网站建设教程
  • 北京网站设计公司哪家公司好网站怎么记录搜索引擎的关键词
  • 怎么评价网站的好坏免费软件怎么盈利
  • 湖北省建设厅网站查询代做网站转账截图
  • 网站的搜索功能怎么做wordpress安装数据库出错
  • 邢台网站建设电话百度网站优化工具
  • 易班网站建设基础朝阳百姓网
  • 百度显示网站名修改wordpress的语言设置
  • 毕业设计代做网站代码素材网免费下载
  • 公司网站建设规划方案搜索引擎营销方案
  • 东莞企业网站公司如何推广企业网站
  • 无锡市做网站怎么注册一个软件平台
  • 怀化组织部网站合肥市建设网
  • 如何把国外的网站在国内做镜像溧阳做网站的哪家好
  • 免费个人网站平台网上投资网站建设
  • 一共有多少网站oa平台登录系统入口
  • 网站开发设计比赛网页框架
  • 创建网站需要什么浙江网站建设dyfwzx
  • 网站怎么制作 优帮云天空网站开发者
  • 网站建设方案书含合同求网站资源懂的2021
  • 网站建设框架都有哪些内容商城网站建设基础设计
  • 西安做视频网站公司wordpress主题收费变免费