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

leetcode刷题之283:移动零

问题

实现思路 

 

 

 

首先, 将dest指向-1 位置, cur指向下标为0 的位置, 在cur遍历的过程中:

      1) 遇到非零元素则与下标dest+1 位置的元素交换,

      2) 若遇到零元素则只继续cur遍历. 

              

 下标为1 的位置上是 非零元素  执行1)   交换得到右图结果 随后cur++ 得到下图结果

               

 下标为2 的位置上是零元素   执行2)  

          

 下标为3  的位置上是非零元素 执行1) 交换得到右图结果 随后cur++ 得到下图结果

         

 下标为4 的位置上是非零元素, 执行1)  交换得到右图结果

 遍历结束, 实现要求

代码: 

class Solution {public void moveZeroes(int[] nums) {int cur = 0, dest = -1;while(cur < nums.length) {if(nums[cur] == 0) {cur++;} else {swap(nums, cur, dest+1);cur++;dest++;}}}public void swap(int[] nums, int left, int right) {int tmp = nums[left];nums[left] = nums[right];nums[right] = tmp;return;}
}

提交结果: 

 

http://www.lryc.cn/news/138442.html

相关文章:

  • 【Spring Boot】SpringBoot和数据库交互: 使用Spring Data JPA
  • 自动化部署及监测平台基本架构
  • 基于NXP i.MX 6ULL核心板的物联网模块开发案例(1)
  • 【路由器】小米 WR30U 解锁并刷机
  • 数据库操作语句
  • Mr. Cappuccino的第64杯咖啡——Spring循环依赖问题
  • Adapting Language Models to Compress Contexts
  • Kubernetes(K8S)使用PV和PVC做存储安装mysql
  • Ansible Playbook 常用变量
  • 0103水平分片-jdbc-shardingsphere-中间件
  • Vue2.0+webpack 引入字体文件(eot,ttf,woff)
  • Eureka:CAP原则及对比Zookeeper
  • WPF入门到精通:3.MVVM简单应用及全局异常处理
  • Springboot+mybatis-plus+dynamic-datasource+Druid 多数据源 分布式事务
  • 673. 最长递增子序列的个数
  • Android12之ABuffer数据处理(三十四)
  • whisper 语音识别项目部署
  • 实例044 在关闭窗口前加入确认对话框
  • 子查询和事务隔离以及用户管理
  • uniapp 滚动到指定元素的位置(锚点)
  • Spring AOP 的 afterReturing 返回值是否能修改问题
  • MyBatis分页插件PageHelper的使用及特殊字符的处理
  • [语音识别] 基于Python构建简易的音频录制与语音识别应用
  • Matlab彩色图像转索引图像
  • 测试框架pytest教程(11)-pytestAPI
  • Docker自学:利用FastAPI建立一个简单的web app
  • 微调bert做学术论文分类(以科大讯飞学术论文分类挑战赛为例)
  • Springboot中sharding-jdbc的API模式并使用自定义算法
  • MySQL回表是什么?哪些情况下会回表
  • VR、AR、MR 傻傻分不清楚?区别的底层逻辑?