每日一题----第四题

第四题

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

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;
    }
}
相关推荐
Java 码农29 分钟前
Centos7 maven 安装
java·python·centos·maven
格林威33 分钟前
常规线扫描镜头有哪些类型?能做什么?
人工智能·深度学习·数码相机·算法·计算机视觉·视觉检测·工业镜头
harmful_sheep37 分钟前
maven mvn 安装自定义 jar 包
java·maven·jar
007php0071 小时前
某大厂跳动面试:计算机网络相关问题解析与总结
java·开发语言·学习·计算机网络·mysql·面试·职场和发展
JH30731 小时前
第七篇:Buffer Pool 与 InnoDB 其他组件的协作
java·数据库·mysql·oracle
程序员莫小特2 小时前
老题新解|大整数加法
数据结构·c++·算法
皮皮林5513 小时前
订单分库分表后,商家如何高效的查询?
java
Roye_ack3 小时前
【项目实战 Day12】springboot + vue 苍穹外卖系统(Apache POI + 工作台模块 + Excel表格导出 完结)
java·spring boot·后端·excel·苍穹外卖
过往入尘土4 小时前
服务端与客户端的简单链接
人工智能·python·算法·pycharm·大模型
zycoder.4 小时前
力扣面试经典150题day1第一题(lc88),第二题(lc27)
算法·leetcode·面试