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

网站开发成本估计昆明市住房和城乡建设局网站

网站开发成本估计,昆明市住房和城乡建设局网站,wordpress主题外贸下载,为什么没有人做像58一样的网站题目 给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。 请注意 &#xff0c;必须在不复制数组的情况下原地对数组进行操作。 数据范围 1 < nums.length < 104 -231 < nums[i] < 231 - 1 样例 示例…

题目

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

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

数据范围

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

样例

示例 1:

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

示例 2:

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

题解

博主题解(O(n)略慢于官方题解,但空间复杂度超过百分之99,且思路简单)

public static void moveZeroes(int[] nums) {//第一次遍历处理数据,得到非目标位0的数量int len=nums.length;//记录已遍历0数目int tz=0;for(int i=0;i<len;i++){if(nums[i]==0){tz++;continue;}nums[i-tz]=nums[i];}for(int i=0;i<len;i++){if(i==len-tz){nums[i]=0;tz--;}System.out.print(nums[i]+" ");}}

官方题解 (O(n)双指针,双指针)

class Solution {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;}
}作者:力扣官方题解
链接:https://leetcode.cn/problems/move-zeroes/solutions/489622/yi-dong-ling-by-leetcode-solution/
来源:力扣(LeetCode

思路

这道题整体思路简单,但题目提到,不能新建数组,那么目的很明确了,就是要求你在O(1)的空间复杂度和O(n)的时间复杂度完成这道题。

博主采用的思路很简单,不管原始数组如何,最后得到的数组形式是一样的,前面一串非0数字,最后几个连续的0,那么就不需要考虑交换的逻辑,而是去把数字放到他最后应该存在的位置即可。这个很容易实现,使用tz存储目前遍历位置已经出现过0的数量,然后将非0数字往前移动就好。在遍历的过程中顺便记录0的个数,最后再把0填充到数组末端即可。

官方题解的思路需要熟悉双指针的思路,双指针有两种常见思路。第一种两个指针同时从一侧出发,类似快慢指针。第二种两个指针分别从两侧出发。这道题我们经过判断后,选择第一种,left用来存储非零数字目前应该存储的位置,right用来作为枚举的效果。通过交换 left 和 right 的元素,确保left 左侧全是非零元素(且顺序不变),left 和 right 之间是零(如果有)。

整体来说,对于没接触过或不熟悉双指针的人来说,官方题解虽然优雅,但还是具有一定的思维难度,大家多联系即可。


文章转载自:

http://hof7rKtB.Lxcwh.cn
http://4m3mZWyt.Lxcwh.cn
http://uw86Ibuq.Lxcwh.cn
http://JvG98DQK.Lxcwh.cn
http://qaa00OLd.Lxcwh.cn
http://PEOL4F2q.Lxcwh.cn
http://UK9bxZn5.Lxcwh.cn
http://3G6gF2Nk.Lxcwh.cn
http://Hsp3JaAz.Lxcwh.cn
http://sZdZliLb.Lxcwh.cn
http://qynUkMhc.Lxcwh.cn
http://HFUsVgqi.Lxcwh.cn
http://g0mIdSpf.Lxcwh.cn
http://ve69REZJ.Lxcwh.cn
http://VPPZTe5y.Lxcwh.cn
http://C68BAvic.Lxcwh.cn
http://EMJNKvqR.Lxcwh.cn
http://8qTSy5Hk.Lxcwh.cn
http://jvQAC26R.Lxcwh.cn
http://fFax97QI.Lxcwh.cn
http://xd3cy63G.Lxcwh.cn
http://hlUXGgHl.Lxcwh.cn
http://1aFsNwhj.Lxcwh.cn
http://K50Lfb5R.Lxcwh.cn
http://imPCJqXv.Lxcwh.cn
http://bESasS4a.Lxcwh.cn
http://j1XT3nrd.Lxcwh.cn
http://llP6ITdQ.Lxcwh.cn
http://NcNlxWcx.Lxcwh.cn
http://8MTNllmP.Lxcwh.cn
http://www.dtcms.com/wzjs/735910.html

相关文章:

  • 学做衣服上什么网站好上海短视频制作
  • 哪里有网站模板下载新公司注册详细流程
  • 自有品牌如何推广优化师证书
  • 微网站建设找哪家公司昆明传媒网站建设
  • 如何做导购网站网站建设 企业文化
  • 建筑网站哪里找linux wordpress 安装
  • 东莞网站优化案例做logo设计网站
  • 网站上线的步骤网站建设结构方案
  • 广西建设领域证书查询官方网站wordpress添加 logo
  • 江苏盐城网站开发网站栏目规划图
  • 雏鸟短视频app软件下载网站网站中怎么做网站统计
  • 网站需求设计文档wordpress google ajax
  • wordpress建自己的网站wordpress文章后面评论
  • 网页和网站的关系做外贸一般用哪些网站好
  • 网站开发视频播放网站wordpress缩略图不显示图片
  • 广州做网站信科分公司新浪博客 搬家 wordpress 工具
  • 仿xss网站搭建徐州手机网站制作公司哪家好
  • 优服优科网站建设公司微信免费下载2023新版
  • 网站开发业务方向架构文档wordpress 物流主题
  • 做网站的风险陕西专业做网站
  • 东莞搭建网站要多少钱东莞长安网站建设
  • 北京网站备案代理wordpress企业中文模板
  • 小说网站制作丹东网站网站建设
  • 网站站长英文网站开发 性能方面
  • 花瓣设计网站官网入口昆明网站建设企业
  • 做网站一个程序员够吗毕业设计实在不会怎么办
  • 山西网站开发如何把网站主关键词做到百度首页
  • 网站会员功能介绍海安网站建设
  • 网站想换空间影视广告创意拍摄
  • 网站搭建设计课程报告天津怎么建立企业网站