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

做网站怎样写标题博罗网站设计

做网站怎样写标题,博罗网站设计,邢台市路桥建设公司网站,收录优美的图片app一、题目描述 283. 移动零 - 力扣(LeetCode) 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 二、题目解析 可以…

一、题目描述

283. 移动零 - 力扣(LeetCode)

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。

请注意 ,必须在不复制数组的情况下原地对数组进行操作。

二、题目解析

可以将本题划分为数组划分(数组分块)的一类题。

一般这类题可以运用双指针的思路去解决。

注意这里的指针并不是真正的指针,而是利用数组下标来充当指针

两个指针的作用:

  • cur:从左到右扫描数组,遍历数组
  • dest:已经处理的区间内,非零元素的最后一个位置(所以初始要置为-1)

所以这两个指针可以把数组分为三个区间

那这两个指针是如何做到的呢?

cur从前往后遍历的过程中:

  1. 遇到0元素:cur++
  2. 遇到非零元素:

swap(dest+1,cur);然后dest和cur分别++,继续遍历。

注意快排中的双指针算法也是运用这一思想!!!

三、原码

void moveZeroes(int* nums, int numsSize) {//经典双指针算法int cur = 0;int dest = -1;for(cur = 0;cur < numsSize;cur++){if(nums[cur] != 0){int tmp = nums[dest+1];nums[dest+1] = nums[cur];nums[cur] = tmp;dest++;}}
}

四、复杂度

本题运用了双指针的算法,时间复杂度是O(N),因为cur指针遍历数组一遍,就已经按照题目要求排好序了。

空间复杂度是O(1),本题没有额外开辟数组空间。

总结,双指针算法解决数组数组划分问题,无论是时间复杂度还是空间复杂度,算法都是最优的!

http://www.yayakq.cn/news/697716/

相关文章:

  • 官方网站建设必要性怎样建设一个网站教学
  • 国外做黄漫的网站有哪些天津建设银行东丽网站
  • 百度收录的网站多久更新一次游乐园网站建设
  • 设计师找图网站深圳网站哪家强
  • 企业网站托管方案内容制作自己的名字免费的
  • 网站架构师培训百度网址大全官网
  • 深圳开发公司网站ps5如何定制网络
  • 网站这么上百度做像58同城这样的网站能用mysql数据库吗
  • php mysql网站开发项目式教程wordpress图片上传失败
  • 做网站的带宽多少钱中国摄影展览网首页
  • 专业做公司宣传网站WordPress导航条之间得跳转
  • 公司网站icp备案沧州市高速公路建设管理局网站
  • 网站二级菜单模板电子商务在线网站建设
  • 设计师网站国外苏州网站设计制作公司
  • 重庆做seo网站优化选择哪家wordpress 添加广告插件
  • wordpress新建网站后台无法登陆wordpress音乐插件百度
  • 电商网站 开发周期享设计网做兼职设计师怎么样
  • 门户网站建设基础术语怎么做自助购物网站
  • 商务网站建设中的必备功能公司网站建设后期维护
  • 陕西有色建设有限公司网站个人soho要怎么做企业网站
  • 做阿里巴巴网站百度为什么不收录我的网站
  • 如何在网上做网站推广杭州网站seo优化
  • 网站排名优化机构网页制作站点
  • 购物网站开发教程门户类网站建设
  • 网站建设文字教程html5网站制作培训
  • 网站公司郑州腾宁科技做网站399元全包
  • html素材免费下载包头整站优化
  • 兴平市住房和城乡建设局门户网站网站建设的主要步骤
  • 游戏网站上做银商为网站人员化工厂建设网站
  • wordpress图片站主题基层建设被哪些网站全文收录