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

动漫网站开发百度关键词优化大师

动漫网站开发,百度关键词优化大师,网站做快速排名是怎么做的呢,山东省建设局网站监理员考试目录 方法一:两次遍历法 方法二:单次遍历交换法 两种方法对比 在解决数组中的零移动到末尾的问题时,我们需要保持非零元素的顺序,并原地修改数组。以下是两种高效的解法及其详细分析。 方法一:两次遍历法 思路分析…

目录

方法一:两次遍历法

方法二:单次遍历交换法

两种方法对比


在解决数组中的零移动到末尾的问题时,我们需要保持非零元素的顺序,并原地修改数组。以下是两种高效的解法及其详细分析。


方法一:两次遍历法

思路分析

  1. 第一次遍历:将所有非零元素移动到数组前端。使用指针 j 记录非零元素应插入的位置。遍历数组时,遇到非零元素就将其放到 nums[j],然后 j 递增。

  2. 第二次遍历:将 j 之后的位置全部填充为零。

代码实现

var moveZeroes = function(nums) {let j = 0;// 将非零元素移到前面for (let i = 0; i < nums.length; i++) {if (nums[i] !== 0) {nums[j] = nums[i];j++;}}// 剩余位置填零for (let i = j; i < nums.length; i++) {nums[i] = 0;}return nums;
};

示例解析

  • 输入 [0, 1, 0, 3, 12]

    • 第一次遍历后,非零元素 1, 3, 12 被移到前三位,j = 3

    • 第二次遍历从索引3开始填零,结果为 [1, 3, 12, 0, 0]

复杂度

  • 时间复杂度:O(n),两次独立遍历。

  • 空间复杂度:O(1),仅使用常量空间。


方法二:单次遍历交换法

思路分析

  • 使用双指针 i(遍历数组)和 j(标记待插入位置)。当 nums[i] 非零时,将其与 nums[j] 交换,并递增 j

  • 此方法通过交换操作,逐步将非零元素移到前面,零被交换到后面。

代码实现

var moveZeroes = function(nums) {let j = 0;for (let i = 0; i < nums.length; i++) {if (nums[i] !== 0) {if (i !== j) { // 避免不必要的原地交换[nums[j], nums[i]] = [nums[i], nums[j]];}j++;}}return nums;
};

示例解析

  • 输入 [0, 1, 0, 3, 12]

    • i=0,元素为0,跳过。

    • i=1,元素1,交换到 j=0,数组变为 [1, 0, 0, 3, 12]j=1

    • i=3,元素3,交换到 j=1,数组变为 [1, 3, 0, 0, 12]j=2

    • i=4,元素12,交换到 j=2,最终结果为 [1, 3, 12, 0, 0]

复杂度

  • 时间复杂度:O(n),仅一次遍历。

  • 空间复杂度:O(1),原地交换。


两种方法对比
方法优点缺点
两次遍历法逻辑简单,直接覆盖需要额外填零的步骤
单次遍历交换法一次遍历完成,更高效交换操作可能稍慢

总结
两种方法均满足题目要求,选择依据具体场景。若数组零较多,两次遍历法可能更优;若零较少,交换法更高效。两种方法均保证了非零元素的顺序,且原地操作,符合题目要求。

http://www.dtcms.com/wzjs/278901.html

相关文章:

  • wordpress快速仿站视频教程seo查询平台
  • 网站框架图片cilimao磁力猫最新版地址
  • 好的做网站的百度开户联系方式
  • 网站建设优化兼职在家北京外包seo公司
  • 青岛高端网站开发公司热搜榜排名今日
  • 做网站怎么字体全部变粗了微信引流主动被加软件
  • wordpress 附件下载统计专业放心关键词优化参考价格
  • 做 性爱 图片网站企业推广软文
  • 恶搞网站怎么做优化关键词排名seo软件
  • 企业网站备案时间疫情最新政策最新消息
  • 网站网页建设与维护线上线下一体化营销
  • 免费建立网站的有哪里网站如何让百度收录
  • 网站建设方案新闻广告营销留电话网站
  • 263邮箱个人登录口重庆seo教程博客
  • 网站的友情链接怎么做成都网站seo公司
  • 郑州品牌网站建设郑州做网站的专业公司
  • php网站开发建设怎么在百度上发广告
  • 高校门户网站建设问题百度手机版
  • 建手机网站多少钱网络推广员的工作内容
  • 营销型电子商务网站中文域名交易网站
  • DW怎么做电商网站济南网络优化网址
  • 做网站后都需要什么哈尔滨企业网站模板建站
  • 济南公众平台网站建设微博推广价格表
  • 网站安全解决方案app开发工具哪个好
  • 邓州网站制作百度经验app
  • 醴陵微信小程序网站开发价格黑帽seo什么意思
  • 南京市建设厅网站站外推广渠道有哪些
  • 大连网站建设辽icp备百度引流推广怎么收费
  • 委托他人建设的网站的侵权责任磁力天堂
  • php众筹网站程序源码seo网络优化师招聘