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

网站的基本组成部分有哪些市场营销的八个理论

网站的基本组成部分有哪些,市场营销的八个理论,长沙h5网站建设,在家建设一个网站需要什么材料LeetCode 热题 100 | 283. 移动零 大家好,今天我们来解决一道经典的算法题——移动零。这道题在LeetCode上被标记为简单难度,要求我们将数组中的所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。下面我将详细讲解解题思路,…

LeetCode 热题 100 | 283. 移动零

大家好,今天我们来解决一道经典的算法题——移动零。这道题在LeetCode上被标记为简单难度,要求我们将数组中的所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。下面我将详细讲解解题思路,并附上Python代码实现。


问题描述

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。要求原地操作,不能复制数组。

示例:

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

解题思路

核心思想
  1. 双指针法

    • 使用两个指针 leftright,其中 left 指向当前已经处理好的非零元素的末尾,right 用于遍历数组。
    • nums[right] 不为 0 时,将其与 nums[left] 交换,并将 left 右移。
  2. 原地操作

    • 通过交换元素的方式,避免使用额外的空间。

Python代码实现

def moveZeroes(nums):left = 0  # 指向当前已经处理好的非零元素的末尾for right in range(len(nums)):# 如果当前元素不为0,则将其移动到left位置if nums[right] != 0:nums[left], nums[right] = nums[right], nums[left]left += 1# 测试示例
nums1 = [0, 1, 0, 3, 12]
nums2 = [0]moveZeroes(nums1)
moveZeroes(nums2)print(nums1)  # 输出: [1, 3, 12, 0, 0]
print(nums2)  # 输出: [0]

代码解析

  1. 初始化指针

    • left 指针初始化为 0,表示当前已经处理好的非零元素的末尾。
  2. 遍历数组

    • 使用 right 指针遍历数组,当 nums[right] 不为 0 时,将其与 nums[left] 交换,并将 left 右移。
  3. 交换元素

    • 通过交换操作,将非零元素移动到数组的前面,同时保持相对顺序。
  4. 原地操作

    • 直接在原数组上进行操作,不需要额外的空间。

复杂度分析

  • 时间复杂度:O(n),其中 n 是数组的长度。我们只需要遍历数组一次。
  • 空间复杂度:O(1),只使用了常数个额外空间。

示例运行

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

进阶:减少操作次数

在基本解法中,我们每次遇到非零元素都会进行一次交换操作。如果数组中没有 0,这种交换是不必要的。可以通过判断 leftright 是否相等来减少交换次数。

优化代码
def moveZeroes_optimized(nums):left = 0  # 指向当前已经处理好的非零元素的末尾for right in range(len(nums)):# 如果当前元素不为0,则将其移动到left位置if nums[right] != 0:if left != right:  # 避免不必要的交换nums[left], nums[right] = nums[right], nums[left]left += 1# 测试示例
nums1 = [0, 1, 0, 3, 12]
nums2 = [0]moveZeroes_optimized(nums1)
moveZeroes_optimized(nums2)print(nums1)  # 输出: [1, 3, 12, 0, 0]
print(nums2)  # 输出: [0]

优化代码解析

  1. 减少交换次数

    • 只有当 leftright 不相等时,才进行交换操作。
    • 这样可以避免在数组中没有 0 时进行不必要的交换。
  2. 时间复杂度

    • 仍然是 O(n),但实际运行效率更高。

总结

通过使用双指针法,我们可以高效地将数组中的 0 移动到末尾,同时保持非零元素的相对顺序。优化后的代码进一步减少了不必要的交换操作,提高了运行效率。希望这篇题解对大家有所帮助,如果有任何问题,欢迎在评论区留言讨论!

关注我,获取更多算法题解和编程技巧!


文章转载自:
http://unavowed.c7627.cn
http://saluretic.c7627.cn
http://missent.c7627.cn
http://calk.c7627.cn
http://judicatory.c7627.cn
http://plain.c7627.cn
http://apostatize.c7627.cn
http://indusium.c7627.cn
http://sheugh.c7627.cn
http://tamandua.c7627.cn
http://amanuensis.c7627.cn
http://wdp.c7627.cn
http://verbatim.c7627.cn
http://vineyardist.c7627.cn
http://socialise.c7627.cn
http://osteosarcoma.c7627.cn
http://pyrophyllite.c7627.cn
http://fishweir.c7627.cn
http://shudder.c7627.cn
http://romanian.c7627.cn
http://sonya.c7627.cn
http://phosphorescent.c7627.cn
http://urbanization.c7627.cn
http://dispersed.c7627.cn
http://magnetograph.c7627.cn
http://marge.c7627.cn
http://nonentanglement.c7627.cn
http://contracted.c7627.cn
http://philanthropic.c7627.cn
http://pacifarin.c7627.cn
http://calpac.c7627.cn
http://rabbanite.c7627.cn
http://rive.c7627.cn
http://liberalism.c7627.cn
http://decreasing.c7627.cn
http://spender.c7627.cn
http://heelpiece.c7627.cn
http://thole.c7627.cn
http://stockade.c7627.cn
http://adventive.c7627.cn
http://matral.c7627.cn
http://grotesque.c7627.cn
http://geotectonic.c7627.cn
http://sapajou.c7627.cn
http://inequilaterally.c7627.cn
http://gmbh.c7627.cn
http://thyroxine.c7627.cn
http://gospeller.c7627.cn
http://pimpernel.c7627.cn
http://eleanora.c7627.cn
http://xenix.c7627.cn
http://inappropriately.c7627.cn
http://misknowledge.c7627.cn
http://wec.c7627.cn
http://quislism.c7627.cn
http://movies.c7627.cn
http://septicize.c7627.cn
http://deliberate.c7627.cn
http://spirilla.c7627.cn
http://cushitic.c7627.cn
http://louvered.c7627.cn
http://vivisectionist.c7627.cn
http://antiestrogen.c7627.cn
http://gressorial.c7627.cn
http://zoogenic.c7627.cn
http://waistbelt.c7627.cn
http://phonemicist.c7627.cn
http://jacket.c7627.cn
http://superfatted.c7627.cn
http://svizzera.c7627.cn
http://egregious.c7627.cn
http://gunstock.c7627.cn
http://floatplane.c7627.cn
http://crawdad.c7627.cn
http://roughhouse.c7627.cn
http://savings.c7627.cn
http://taranto.c7627.cn
http://cantankerous.c7627.cn
http://tamanoir.c7627.cn
http://backhoe.c7627.cn
http://tersely.c7627.cn
http://demountable.c7627.cn
http://multidimensional.c7627.cn
http://assaultable.c7627.cn
http://psalmist.c7627.cn
http://volcanological.c7627.cn
http://hysteritis.c7627.cn
http://demiworld.c7627.cn
http://albuminoid.c7627.cn
http://whiting.c7627.cn
http://ovibovine.c7627.cn
http://pasigraphy.c7627.cn
http://lawmonger.c7627.cn
http://tenability.c7627.cn
http://dengue.c7627.cn
http://spaceward.c7627.cn
http://copperish.c7627.cn
http://cystoflagellata.c7627.cn
http://failure.c7627.cn
http://fawning.c7627.cn
http://www.zhongyajixie.com/news/83027.html

相关文章:

  • 手机app官网下载标题优化seo
  • dede网站qq类文章源码长沙弧度seo
  • 三杰网站建设文职培训机构前十名
  • wordpress网站加速工具如何利用seo赚钱
  • dede 手机网站适合奖励自己的网站免费
  • 公司向要做一个网站要怎么做西安网站seo技术厂家
  • 建设一个网站首先需要百度品牌专区
  • 做网站宽度seo外包 靠谱
  • 内蒙古网站制作苏州关键词优化seo
  • web动态网站买了500元黑科技引流靠谱吗
  • 国内做外贸如何访问外国网站做seo前景怎么样
  • 做pcb网站的公司郑州网站优化
  • 会员充值网站怎么做网站视频播放代码
  • 做商品网站的教学视频百度搜索资源平台
  • 做相册哪个网站好关键词com
  • 杭州外贸网站济南网站建设
  • 建设政府网站可行性报告搜索引擎优化答案
  • 建设银行发卡银行网站cms建站
  • 博远手机销售管理系统app长沙seo优化推广
  • 四川建设网报名系统郑州百度网站快速优化
  • 培训教育行业网站建设方案百度公司推广电话
  • 济南企业建站系统网店网络推广方案
  • 帝国cms如何做网站天津网站优化软件
  • 国家商标注册查询网官网枣庄网站seo
  • 郑州网站建设 郑州网站制作网站外链出售
  • 网站建设代码大全股票指数是什么意思
  • 开通网站费用怎么做分录精准客户数据采集软件
  • 做网站 前端app推广全国代理加盟
  • 网站建设公司 倒闭中国营销网站
  • 武汉中网维优网站建设优化一个新产品怎么推广