每日一题----第四题

第四题

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

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;
    }
}
相关推荐
Justin_19几秒前
LVS负载均衡集群理论
java·负载均衡·lvs
虾说羊8 分钟前
ssm面试题梳理
java·开发语言·rpc
剪一朵云爱着10 分钟前
力扣2560. 打家劫舍 IV
算法·leetcode
nbsaas-boot13 分钟前
什么语言最适合开发 SaaS 系统:从架构视角的全面分析
java·架构
雾岛—听风19 分钟前
P5143 攀爬者
算法
Liudef0623 分钟前
基于Java的LLM长上下文数据预处理方案:实现128k上下文智能数据选择
java·开发语言·人工智能
我命由我123451 小时前
Guava - Guava 基本工具 Preconditions、Optional
java·服务器·开发语言·后端·java-ee·guava·后端框架
程序猿ZhangSir1 小时前
Spring Boot 项目实现邮件推送功能 (以QQ邮箱为例)
java·数据库·spring boot
弥巷1 小时前
【Android】Lottie - 实现炫酷的Android导航栏动画
java
崎岖Qiu1 小时前
【设计模式笔记10】:简单工厂模式示例
java·笔记·设计模式·简单工厂模式