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

做试题公务员在哪个网站做温岭网络推广

做试题公务员在哪个网站做,温岭网络推广,怎么做发卡网站,工信部网站备案怎么登录https://leetcode.cn/problems/move-zeroes/description/ 小白思想 思想上还是首先开一个指针i,i从左到右扫每一个元素,i每发现一个0,就把这个0推到最后,这样i到最后就可以了。 这个和删除元素那个题解的小白思想和一模一样&am…

https://leetcode.cn/problems/move-zeroes/description/

小白思想

思想上还是首先开一个指针i,i从左到右扫每一个元素,i每发现一个0,就把这个0推到最后,这样i到最后就可以了。

这个和删除元素那个题解的小白思想和一模一样,只不过把val换成0,把元素交换更换成把元素推向最后的push_end就行了。代码我就不写了。。

def push_end(nums,left,right): # 按次序把left位置上的元素推到right位置dummy=nums[left]tmp=leftwhile tmp+1<=right:nums[tmp]=nums[tmp+1]tmp+=1    nums[right]=dummyreturn nums

因为小白思路简单直白但是代码写起来很啰嗦。

技巧

这是要记住的知识点

脑中脑中迅速闪过几个关键词:数组、数组划分部分、双指针 ======> 考虑快慢指针。

一般使用起来都是O(n),结束条件几乎都是快指针遍历结束,慢指针恰好在边界。不同点是慢指针的条件各不相同。

根据小白解法,我们让快指针去指向判定当前元素是否能进入左侧要保留部分的位置,慢指针指向保留部分的最后一个位置。也就是快指针做条件判断,慢指针做位置标识。

那么用什么条件作为快指针条件呢?
回归题意,我们希望左侧的都是不等于0,这样只要nums[fast]!=val,就可以把fast元素放到左侧了。

class Solution:def moveZeroes(self, nums: List[int]) -> None:"""Do not return anything, modify nums in-place instead."""slow=0for fast in range(len(nums)):if nums[fast]!=0:# swaptmp=nums[fast]nums[fast]=nums[slow]nums[slow]=tmpslow+=1

这样写起来非常简洁,而且还能保持原先数组的顺序。小白看了都哭了……

http://www.mmbaike.com/news/47391.html

相关文章:

  • 罗岗网站建设网站优化的方法与技巧
  • 哪些网站可以做免费广告推广seo怎么优化简述
  • 网上怎么接单做网站seo专业术语
  • 建站软件2017seo招聘要求
  • 欣赏别人做的网站重庆网站seo搜索引擎优化
  • 做生意的网站双11销量数据
  • 新疆住房城乡建设厅网站长安seo排名优化培训
  • 做旅行社业务的网站都有哪些全网营销式网站
  • 报名网站建设价格全网营销推广软件
  • 怎么选择网站建设公司软文写作的三个要素
  • 北京做网站建设多少钱今日头条号官网
  • 毕节做网站的公司网店代运营一年的费用是多少
  • 聊城做网站费用seo优化推广公司
  • 房地产新闻时事热点seo推广代运营
  • 家教网站建设的推广营销策划师
  • 网站建站推荐成都seo的方法
  • 绿色农产品网站sem网络营销
  • 北京做网站推广多少钱百度热搜广告设计公司
  • 什么网站可以做期刊封面焊工培训ppt课件
  • 济南建站价格搜索引擎营销总结
  • 天津微外卖网站建设百度有哪些产品
  • 百度小程序注册什么是seo优化推广
  • nas的wordpress的端口上海网络优化服务
  • 做饲料机械的网站分享几个x站好用的关键词
  • 做网站推广选择什么最好百度推广账户优化
  • 德国购物网站排名电商网站卷烟订货流程
  • 网推渠道平台广州seo推广营销
  • jquery 手机网站开发排名优化软件点击
  • 广告联盟点击广告能赚多少合肥网站seo推广
  • 汕头中英文网站推广网站优化包括哪些内容