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

西安建设学院网站首页宣传片制作软件app

西安建设学院网站首页,宣传片制作软件app,网站排序,腾讯云 win wordpress题目#xff1a; 给定一个数组 nums#xff0c;编写一个函数将所有 0 移动到数组的末尾#xff0c;同时保持非零元素的相对顺序。 请注意 #xff0c;必须在不复制数组的情况下原地对数组进行操作。 示例 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 设置双指针ij。i遍历j指向非零元素。i遇到非零元素就把它挪到j所在位置同时j后移一位。当i全遍历完也就是j指向非零元素的后一个位置则i开始第二次遍历起始位置就是j所在位置把后面一段元素位置的元素全置为零。时间复杂度为O(n)。其实是i遍历了一遍j近似也遍历了一遍。 public void moveZeroes(int[] nums) {if(numsnull) {return;}//第一次遍历时j指针记录非零的个数非0的都赋值给nums[j]int j0;for(int i0;inums.length;i){if(nums[i]!0){nums[j]nums[i];}}//非0元素统计完后剩下的都是0// 则第二次遍历把末尾元素都赋值为0即可for(int ij;inums.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.zqtcl.cn/news/75660/

相关文章:

  • 动静分离网站架构射阳建设网站
  • 有没有catia做幕墙的网站苏州园区限电
  • 集团网站制作怎么做点击图片跳转网站
  • 如何申请域名建立网站网站推广过程叙述
  • 东阳做网站的公司网站访问次数受限
  • 做一个卖东西的网站多少钱软件工程师主要做什么
  • 北京营销型网站建设培训班辽宁鹤城建设集团网站
  • 网站知识内部网站建设_
  • wordpress导航编辑器企业网站优化官网
  • 宁波海曙网站开发公司电话求个网站你会感谢我的
  • 求做外宣图网站如何建一个网站教程
  • 网站建设的安全性贵州省住房和城乡建设部官方网站
  • 做网站公司怎么赚钱怎么让自己做的网站让别人看到
  • 我有域名有服务器怎么建设网站企业管理咨询公司招聘
  • 网站改版对网站优化影响最大的问题是什么巴中哪里做网站
  • 网站专题策划方案书官方网站下载12306
  • 网站建设发专业人才培养方案网站建设与维护中
  • 一元购网站建设方案书大连app开发多少钱
  • 做网站电脑配置要求个高吗微网站方案
  • 网站建设资料准备免费ai图片生成器
  • 合肥网页模板建站网站优化插件
  • 广州做网站怎么样浏览器正能量不良网站
  • 网站备案与所在地平面设计图100张
  • 网站做优化应该具备什么台州网站建设慕枫
  • 网页自助建站都昌网站建设
  • 张家港网站制作公司电脑手机网站制作
  • 做游戏 做网站株洲网站建设技术托管
  • frontpage导入网站wordpress ip 跳转
  • 做网站需要的法律知识南昌定制网站开发
  • 南山做网站多少钱查商家信息有哪些网站