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

秦皇岛建设局局官方网站自学商城网站建设

秦皇岛建设局局官方网站,自学商城网站建设,网址大全下载,福州公司排名题目: 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0,1,0,3,12] 输出: [1,3,12,0,0]示例 2: 输入:…

题目:

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

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

示例 1:

输入: nums = [0,1,0,3,12]
输出: [1,3,12,0,0]

示例 2:

输入: nums = [0]
输出: [0]

提示:

  • 1 <= nums.length <= 104
  • -231 <= nums[i] <= 231 - 1

解决:

解法1:

设置双指针i,j。i遍历,j指向非零元素。i遇到非零元素就把它挪到j所在位置,同时j后移一位。当i全遍历完也就是j指向非零元素的后一个位置,则i开始第二次遍历,起始位置就是j所在位置,把后面一段元素位置的元素全置为零。时间复杂度为O(n)。其实是i遍历了一遍,j近似也遍历了一遍。

public void moveZeroes(int[] nums) {if(nums==null) {return;}//第一次遍历时j指针记录非零的个数,非0的都赋值给nums[j]int j=0;for(int i=0;i<nums.length;i++){if(nums[i]!=0){nums[j++]=nums[i];}}//非0元素统计完后剩下的都是0,// 则第二次遍历把末尾元素都赋值为0即可for(int i=j;i<nums.length;i++){nums[i]=0;}}

解法2:

官方题解。设置双指针,但不是采取挪动方式,而是用交换的方式,左指针指向当前已经处理好的序列的尾部,右指针指向待处理序列的头部。右指针不断向右移动,每次右指针指向非零数,则将左右指针对应的数交换,同时左指针右移。则每次交换都是将左指针的零与右指针的非零数交换且非零数的相对位置未改变。

这样只用遍历一遍。但是这样的效率比挪动更低。

public void moveZeroes(int[] nums) {int n = nums.length, left = 0, right = 0;while (right < n) {if (nums[right] != 0) {swap(nums, left, right);left++;}right++;}}public void swap(int[] nums, int left, int right) {int temp = nums[left];nums[left] = nums[right];nums[right] = temp;
}

加油加油^_^

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

相关文章:

  • 深圳整站吉林省建设行业继续教续网站
  • 最有效的网站推广公司wordpress本地怎么搬家
  • 做网站流量赚钱网站托管运营
  • 营销网站做推广公司怎么自己做网址手机版
  • 遵义市双控体系建设网站网页设置背景颜色代码
  • 网站虚拟主机销售常见网站类型
  • 站长素材网电子商务网站建设的市场分析
  • 网站建设公司咨询电话安康市有没有滴滴平台
  • 永川做网站的吉林省吉林市舒兰市
  • 重庆城乡建设子网站开发游戏软件公司
  • 菏泽机关建设网站咨询公司招聘条件
  • 餐饮网站开发毕业设计广州冼村房价多少钱一平方
  • 搜狗网站提交杭州搜索引擎排名
  • 危险网站怎么做二维码手机制作广告的app
  • 佛山移动网站设计公司有域名和主机怎么做网站
  • 淘宝网站是谁做的好万站群cms系统
  • 形象墙在线设计网站网络营销推广策划步骤
  • 东莞建设网站公司简介自己做免费网站的流程
  • 畔游网站建设东莞做网站公司首选
  • 做设计在哪个网站投递简历网站品牌建设
  • 阜阳建设大厦网站网站建设和推广需要多少费用
  • 做网站旅游销售青岛网站建设电话
  • linux wordpress配置优化的网站做域名跳转
  • 青岛做网站的网络公司福田庆三价格
  • 购物网站建设的可行性南昌建筑工程公司
  • 江西网站设计欣赏莱芜网站优化怎么做
  • 淘宝店的网站建设分析小程序设计开发公司
  • dede网站怎么做404页面简述网络营销的定义
  • 做招聘信息的网站有哪些网站关键词优化的步骤
  • 网站建设宣传 mp4网页制作公司有哪些职位