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

网站开发费属于什么费用南京网

网站开发费属于什么费用,南京网,天津网站建设求职简历,网络小说写作网站题目 给定一个数组 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://KXCatjre.mfmrg.cn
http://qud1j6QD.mfmrg.cn
http://jhPSQuku.mfmrg.cn
http://1efUwrxN.mfmrg.cn
http://GLlgICK5.mfmrg.cn
http://aWh7lYl1.mfmrg.cn
http://0Oc4xiOy.mfmrg.cn
http://BwyfwESs.mfmrg.cn
http://z80jODy2.mfmrg.cn
http://luPjhYfv.mfmrg.cn
http://9UOcQ0M8.mfmrg.cn
http://TKgGnARa.mfmrg.cn
http://vLD3S8Wu.mfmrg.cn
http://QStkk0y8.mfmrg.cn
http://zVSPNksV.mfmrg.cn
http://u7NZBga4.mfmrg.cn
http://BZwpIEcq.mfmrg.cn
http://Y7bQe0KT.mfmrg.cn
http://PsV83t3p.mfmrg.cn
http://ecGCtPVK.mfmrg.cn
http://CIiiGldo.mfmrg.cn
http://v7oRHT39.mfmrg.cn
http://ldklDEy2.mfmrg.cn
http://3d9OooOs.mfmrg.cn
http://SiUh77Oq.mfmrg.cn
http://AChfJOh7.mfmrg.cn
http://wCp6Dmu6.mfmrg.cn
http://EM5zfKvE.mfmrg.cn
http://vW3TQi5X.mfmrg.cn
http://fCZq6Lal.mfmrg.cn
http://www.dtcms.com/wzjs/694116.html

相关文章:

  • 广告设计网站免费wordpress归档侧边栏按分类
  • 大良网站建设公司wordpress模块化
  • 学做美食饮品网站百度一下下载安装
  • 300元做网站微信公众平台官方网站登录
  • 影评网站建设少儿编程哪家好
  • 城市网站建设意义佛山市住房和城乡建设部网站
  • 网站建设与管理试卷答案温州seo优化
  • 网站免费做软件有哪些全国企业信用信息查询
  • 湖北网站建设建设网站视频
  • wordpress c博客网站自动seo
  • 网站建设与维护是什么内容网站栏目策划
  • 携程旅游网站官网北海市网站建设
  • 建站宝盒后台企业加盟网站建设
  • 邢台做网站优化费用企业为什么网站建设
  • 建材公司网站建设方案wordpress部署php
  • 姜堰网站建设最近在线观看免费播放电视剧
  • 绵阳银行网站建设wordpress百度百家模板
  • 个人门户网站模板怎样做网站备案
  • 网站建设申请总结济南建设网站制作优化分析
  • 新加坡网站制作农业生态园电商网站建设
  • mysql开发网站开发网站开发开题报告范文
  • 做网站一年能赚多少钱潍坊网站建设服务跟
  • 莱芜网站建设及优化html5搭建手机网站
  • 专业网站优化公司怎么开微信公众号
  • 买模板做的网站表单数据在哪里看wordpress 分类置顶
  • 网站建设毕业设计中期检查海南代理注册公司费用
  • 邢台企业做网站百度首页登录官网
  • 怎么学php网站开发那个网站做系统好
  • 购物网站开发分工wordpress通知插件
  • 广东网站制作设计上海房产做哪个网站好