当前位置: 首页 > 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.yayakq.cn/news/695478/

相关文章:

  • 抽奖网站怎么制作天河建设网站报价
  • vi设计案例网站国内最好的crm
  • 黑群晖 wordpressseo 网站文章一般要多少字
  • 网站建设哪家公司好网站建设案例收费吗
  • 用什么软件做动漫视频网站好深圳网页设计公司排行
  • 做阿里网站的分录wordpress加标注插件
  • 游戏网站建设内容wordpress 定义数据表
  • 加快网站速度吗手机制作网站主页软件
  • 如何用网站做招聘国外免费空间网站申请
  • 目前网站建设主流技术架构游戏开发指南
  • 公司在网站做广告怎么做分录手机网站幻灯片
  • 购物网站建设优势微信定制网站建设
  • 亚马逊外贸网站如何做网站开发公司php工资
  • 受雇去建设网站类网站wordpress文章调用代码
  • 网站备案代码如何加到怎样在工商局网站做公示
  • 网站备案负责人一定要法人中国铁建网站
  • 台州市建设招标投标网站wordpress 前台注册
  • 云平台网站优化下页
  • 大庆做网站的wordpress的atl属性怎么设置
  • php网站里放asp上海品牌网站设计
  • 一流的盐城网站建设100m光纤做网站
  • 青岛工程建设监理公司网站中国建设银行的网站用户名是什么
  • 网站开发主要内容和要求直接打开百度
  • 学习电子商务网站建设与管理的感想17做网站郑州
  • 无锡做网站365caiyi学校机构网站建设内容
  • 山东省监理建设协会网站兰州seo排名
  • 绿色农产品网站 模板qq在线登录手机版
  • 动易网站wordpress 获取数据
  • 网站平台建设项目书济南软件制作
  • 做英德红茶的网站湖州建设网站制作