每日一题----第四题

第四题

最近家里有点事更新可能断断续续的,但是过一段时间就会正常更新了。

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如果是的话就将这个数赋值给nums[l]并将l往后移动一位到循环结束,然后再从l开始将后边其余的数字都变成0便可。
动画演示(来源:leetcode)

java 复制代码
class Solution {
    public void moveZeroes(int[] nums) {
        int l=0;
        for(int i=0;i<nums.length;i++){
            if(nums[i]!=0){
                nums[l++]=nums[i];
            }
        }
        for(int i=l;i<nums.length;i++)
            nums[i]=0;
    }
}
相关推荐
麦兜*4 分钟前
Spring Boot 与 Ollama 集成部署私有LLM服务 的完整避坑指南,涵盖 环境配置、模型管理、性能优化 和 安全加固
java·spring boot·后端·安全·spring cloud·性能优化
qiuyunoqy6 分钟前
蓝桥杯算法之搜索章 - 2
算法·蓝桥杯·深度优先
leo__5207 分钟前
Java的NIO体系详解
java·python·nio
烟沙九洲8 分钟前
服务之间远程Feign调用,出现参数丢失
java·spring boot
Yang-Never11 分钟前
Kotlin协程 ->launch构建协程以及调度源码详解
android·java·开发语言·kotlin·android studio
2301_7639947112 分钟前
c++11特性
数据结构·c++·算法
极客BIM工作室14 分钟前
C++返回值优化(RVO):高效返回对象的艺术
java·开发语言·c++
用户849137175471615 分钟前
JustAuth实战系列(第1期):项目概览与价值分析
java·架构·开源
自由的疯34 分钟前
Java 17 新特性之 instanceof 运算符
java·后端·架构
自由的疯38 分钟前
Java 17 新特性之 Switch 表达式改进
java·后端·架构