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

【力扣热题100】—— Day2.移动零

你才摔了几跤,就说这是人生

                                —— 24.11.27

283. 移动零

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。

请注意 ,必须在不复制数组的情况下原地对数组进行操作。

示例 1:

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

[1,3,12,0,0]

示例 2:

输入: nums = [0]
输出: [0]

提示:

  • 1 <= nums.length <= 104
  • -231 <= nums[i] <= 231 - 1

方法一:交换位置

遍历数组,对数组中的每一个元素进行判断,如果元素不等于0,则将该元素移动至索引为notZero处,notZero索引从0开始,如果发生了元素移动,则notZero索引值加1

python实现

class Solution:
    def moveZeroes(self, nums: List[int]):
        notZero = 0
        for i in range(len(nums)):
            if nums[i] != 0:
                temp = nums[notZero]
                nums[notZero] = nums[i]
                nums[i] = temp
                notZero += 1

Java实现

class Solution {
    public void moveZeroes(int[] nums) {
        int notZero = 0;
        int temp = 0;
        for(int i = 0; i < nums.length; i++){
            if(nums[i] != 0){
                temp = nums[i];
                nums[i] = nums[notZero];
                nums[notZero] = temp;
                notZero++;
            }
        }
    }
}



http://www.kler.cn/a/412921.html

相关文章:

  • MySQL中的like模糊查询
  • 网络技术-VRRP(虚拟路由冗余协议)部署介绍
  • 基于Python语言的Web爬虫设计源码
  • 【2022-数学二】历年真题-2022年-简答题(17-20)
  • 路由传参、搜索、多选框勾选、新增/编辑表单复用
  • hive的存储格式
  • MySQL解决数据导入导出含有外键的情况
  • Python学习第十三天--面向对象,类和对象
  • 量化交易系统开发-实时行情自动化交易-4.5.1.机器学习策略实现
  • 计算机网络安全实验-使用Kali进行Metasploit操作宿主机摄像头的相关操作步骤
  • 【Jenkins】自动化部署 maven 项目笔记
  • 【Linux运维】关于Linux系统运维基本操作命令
  • Linux入门系列--用户与权限
  • 不用下载安装的线上3D编辑器,支持哪些功能?
  • NUMA架构及在极速网络IO场景下的优化实践
  • 狂野飙车8+(Asphalt 8+) for Mac 赛车竞速游戏 安装教程
  • 【代码随想录|贪心算法02】
  • 【Android】AnimationDrawable帧动画的实现
  • Java---JDBC案例--手机信息管理系统
  • 基于企业微信的问卷系统的设计与实现
  • HiISP(一)
  • 银联大数据面试题及参考答案
  • vue3总结
  • [Bash]遍历文件夹下的动态库文件,并为每个so文件创建一个软连接(symbolic link)
  • Windows修复SSL/TLS协议信息泄露漏洞(CVE-2016-2183) --亲测
  • 数据结构(Java)—— ArrayList