每日一题----第四题

第四题

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

283. 移动零

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

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

示例 1:

复制代码
输入: nums = [0,1,0,3,12]
输出: [1,3,12,0,0]

示例 2:

复制代码
输入: nums = [0]
输出: [0]

提示:

  • 1 <= nums.length <= 104
  • -231 <= numsi <= 231 - 1

这个题在最开始真不会,我看了题解里的演示动画然后思考了一下理解了,但是我是真没想到。

思路:这个题通过设置一个左边界,然后循环判断当前的数值是否是非0如果是的话就将这个数赋值给numsl并将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;
    }
}
相关推荐
乐迪信息10 小时前
如何通过AI防爆摄像机精准判断船舶超速?
大数据·人工智能·算法·安全·目标跟踪
小荷才露尖尖角,早有蜻蜓立上头11 小时前
过滤器的4种创建方式
java
大圣编蚕11 小时前
Java ByteArrayInputStream 详解:从入门到实战
java·开发语言·算法
程序员阿明12 小时前
idea把插件啥的不默认放在C盘
java·ide·intellij-idea
linweidong12 小时前
中科闻歌Java面试题及参考答案
java·python·大模型·提示词·ai agent·mcp·rag原理
OpenAnolis小助手12 小时前
一句话看透 JVM,SysOM 诊断 Skill 新增 Java 应用诊断能力
java·开发语言·jvm·阿里云·操作系统控制台·sysom
小玮看世界12 小时前
[Python]OD算法在OD实际运用转化参考清单
开发语言·python·算法
黎阳之光12 小时前
数字孪生赋能全域水网,实现水资源管控与节水降碳双向提升
人工智能·物联网·算法·安全·数字孪生
随意起个昵称13 小时前
【BFS】冰面滑行
算法·宽度优先
ForteScarlet13 小时前
Kotlin 2.4.20 现已发布,新特性多不多?
android·java·开发语言·开源·kotlin·jetbrains