每日一题----第四题

第四题

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

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;
    }
}
相关推荐
我不是混子2 小时前
说说单例模式
java
间彧4 小时前
SimpleDateFormat既然不推荐使用,为什么java 8+中不删除此类
java
间彧4 小时前
DateTimeFormatter相比SimpleDateFormat在性能上有何差异?
java
间彧4 小时前
为什么说SimpleDateFormat是经典的线程不安全类
java
MacroZheng4 小时前
横空出世!MyBatis-Plus 同款 ES ORM 框架,用起来够优雅!
java·后端·elasticsearch
CoovallyAIHub5 小时前
港大&字节重磅发布DanceGRPO:突破视觉生成RLHF瓶颈,多项任务性能提升超180%!
深度学习·算法·计算机视觉
用户0332126663675 小时前
Java 查找并替换 Excel 中的数据:详细教程
java
间彧5 小时前
ThreadLocal实现原理与应用实践
java
若水不如远方5 小时前
Netty的四种零拷贝机制:深入原理与实战指南
java·netty