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

做网站唐山天津网站开发tjniu

做网站唐山,天津网站开发tjniu,网店运营流程步骤,thinkphp开发大型网站力扣(LeetCode). - 备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/move-zeroes/ 使用 双指针 来解题: 此处的双指针,…

力扣(LeetCode). - 备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。icon-default.png?t=N7T8https://leetcode.cn/problems/move-zeroes/

使用 双指针 来解题:

此处的双指针,其实只是定义两个变量。对于一个数组nums[]来说,额外定义left和right,那么通过left和right作为下标就可以访问到数组内的元素,例如nums[left]就能快速定位到相关的元素。

具体思路:

通过两个指针把数组划分为了 [0,left],[left+1,right-1],[right,n-1]。其中n是数组的长度,n-1就是数组最后一个数字的下标。

于是两个指针把数组分成了三个部分:

[0,left]和[left+1,right-1]代表的是已经处理过的区间,前者是非0数,后者是0

[right,n-1]就代表还没有开始处理的区间

用到双指针,就需要知道两个指针分别的作用是什么:

left 的作用是:已经处理的区间内,非0元素的最后一个位置

right的作用是:遍历整个数组,right之前的数组是已经处理过的,right及之后的数组是没有处理过的

具体操作:

  1. 定义两个指针,分别为left和right,left在数组的-1元素位置,right在数组的0元素位置
  2. right遍历数组,遇到0就++,遇到非0元素则让left+1这个元素和right这个元素交换位置

代码就很好处理了:

    public void moveZeroes(int[] nums) {for(int left = -1 , right = 0 ; right < nums.length ; right++){if(nums[right] != 0){left++;int tmp = nums[left];nums[left] = nums[right];nums[right] = tmp;}}}

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

相关文章:

  • 长春网站制作都找源晟27宜昌 医院 网站建设
  • 公司做手机网站建设网站关闭与域名备案
  • 动图从哪个网站做民营医院建设网站
  • 菏泽网站建设费用wordpress成品网站云部落
  • 网站开发颜色选择器企业网站开发平台
  • 自己做博客网站好给人做网站赚钱
  • 做网站龙岗长沙网站建设大概多少钱
  • 明星静态网站企业网站建设包括
  • 营销型企业网站建站唐山室内设计公司排名
  • 后缀的域名暂无法进行网站备案网络架构方案书
  • 苏州网站设计公司住建网查询资质
  • wordpress英文仿站平面图设计软件
  • 微网站解决方案wordpress的管理员权限代码
  • 云计算存储网站建设安全wordpress 改网址导航
  • 忘记网站后台admin密码建筑网站资料
  • 设置网站建设外国做袜子的网站
  • 做网站 江门wordpress调用视频播放器
  • 做资源下载网站好吗wordpress photoshop
  • wap网站建设管理制度有限公司破产后债务谁承担
  • asp网站源码免费版北京个人网站制作
  • 伪静态网站搬迁仿搜狐视频网站源码
  • 下载学校网站模板下载企业网站搜索引擎拓客
  • 广安网站建设公司高端网站设计 上海
  • 传奇手游大型网站wordpress注册页面404
  • 网站建设的完整流程包括网站的服务费账怎么做
  • 厦门建行网站网站建设需要域名吗?
  • 有哪些做推送的网站wordpress安装程序
  • 长安h5网站建设网站策划编辑是干嘛的
  • 想做水果外卖怎么做网站电商平台网站多少钱
  • 咖啡建设网站的目的三门峡企业网站建设公司