每日一题----第四题

第四题

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

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;
    }
}
相关推荐
麻瓜生活睁不开眼1 小时前
Android16修改全局桌面视图边框四直角显示为弧边圆角
android·java·深度学习
dear_bi_MyOnly2 小时前
【MyBatis 操作数据库】
java·数据库·学习·mybatis·学习方法
2601_953720822 小时前
【计算机毕业设计】基于Spring Boot的心理健康咨询与评测系统的设计与实现
java·spring boot·后端
丈剑走天涯3 小时前
JDK 17 正式特性
java·开发语言
圣光SG3 小时前
Java操作题练习(七)
java·开发语言·算法
Cx330_FCQ5 小时前
Tmux使用
服务器·git·算法
@航空母舰5 小时前
SpringBoot通过Map实现天然的策略模式
java·spring boot·后端
Co_Hui5 小时前
Java 并发编程
java
拳里剑气6 小时前
C++算法:多源BFS
c++·算法·宽度优先·多源bfs
ysa0510306 小时前
【板子】短序列dp(换成维护更小常数维度的dp)
c++·笔记·算法·板子