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

西安网站开发外包公司有设计院

西安网站开发外包公司有,设计院,搞一个公司网站得多少钱,万能推广app题目:给定一个数组 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

第一种解题方法+代码:

第一种方法时间复杂度为O(n)。

代码:

class Solution {public void moveZeroes(int[] nums) {/*解题思路:双指针遍历数组1.使用一个指针 i 遍历数组 nums。2.使用另一个指针 j 记录非零元素应该放置的位置。3.当遇到非零元素时,将其移动到 j 指向的位置,并将 j 向前移动。4.遍历完成后,从 j 开始到数组末尾的位置全部填充 0。*///记录非0元素存放的位置int j = 0;//遍历数组for(int i = 0;i<nums.length;i++){if(nums[i] != 0){nums[j] = nums[i];j++;}}//填充0while(j<nums.length){nums[j] = 0;j++;}}
}

第二种解题方法+代码:

代码:

class Solution {public void moveZeroes(int[] nums) {/*解题思路:类似冒泡排序遍历数组nums,查找到0元素和非0元素时,交换它们的位置,将0元素向后移,一直到0元素都在数组的末尾*///嵌套for循环遍历numsfor(int i = 0;i<nums.length;i++){for(int j = 0;j<nums.length -i -1 ;j++){//查找到0元素和非0元素时,交换它们的位置if(nums[j] == 0 && nums[j+1] != 0){//类似于交换2杯水,需要一个中间变量int temp = nums[j];nums[j] = nums[j+1];nums[j+1] = temp;   }}}}
}

 

第二种解题方法效率比较低,需要花费的时间久(嵌套for循环的时间复杂度为O(n^2))。

总结:个人认为双指针遍历循环更简单高效,时间空间复杂度更小,因此个人更加推荐第一种解题方法。第二种方法类似于冒泡排序,在这篇博客中提供一种解题思路。继续加油~

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

相关文章:

  • 建设家具网站的目的及功能定位php 上传移动到网站根目录
  • 网站建设 印花税wordpress资讯主题模板
  • 南昌天和建设有限公司网站湛江wx
  • 青少年宫网站开发php做网站子页模板
  • 网站wordpress错误百度有几种推广方式
  • 做DJ网站违法吗广州地铁21号线
  • 网站建设情况通报小程序开发难度大吗
  • 北京网站建设兴田德润官网多少WordPress对接QQ聊天
  • 安徽网站推广公司家教网站模板下载
  • 凉山彝族自治州网站建站义乌网图科技有限公司
  • 网站开发和软件开发哪个难玛酷机器人少儿编程加盟
  • 网站排名第一开发公司截留占用住宅专项维修资金的整治方案
  • 重庆官方网站建设北京市建设工程发包承包交易中心网站
  • 网站制作好以后怎么管理沈阳网站制作列表网
  • 企业做网站要多少钱网站开发需求逻辑图
  • 软件下载网站怎么赚钱wordpress 表情没反应
  • wap网站开发协议全屏网站尺寸
  • 东营网站建设规划书免费做网站怎么做网站619
  • 怎样把已经有的网站做推广青岛网站制作网站
  • 设计公司网站案例福永网站优化
  • 建网站 备案连云港 网站设计
  • 长沙制作手机网站的公司怎么用dw做简单网站
  • 深圳市住房建设局网站怎么打不开wordpress伪静态后二级目录错误
  • 佛山网站设计制作公司access数据库创建网站
  • 做网站那种语言好什么是网络营销定义
  • 广东省建设安全协会网站服务好 售后好的网站建设
  • 甘肃省建设厅网站质监局c 做网站方便吗
  • 亚马逊如何做站外促销网站网站后台编辑技巧
  • 怎样自己建设网站工艺品商城网站建设
  • 内页网站地图 权重自己网站视频直播怎么做