LeetCode算法学习之移除元素

完整实现代码:

java 复制代码
class Solution {
    public int removeElement(int[] nums, int val) {
        int k = 0; // 记录不等于 val 的元素个数
        for (int i = 0; i < nums.length; i++) {
            if (nums[i] != val) {
                nums[k] = nums[i]; // 将非 val 元素移到前面
                k++;
            }
        }
        return k;
    }
}

解题思路:

基本思路就是遍历数组,把不等于val的元素移动到数组的前边,最后返回不等于val的元素个数就可以了

代码实现:首先定义一个k用来记录不等于val的元素个数,遍历数组,判断当前元素与val是否相同,如果不同就交换k索引对应的元素和当前元素的位置,然后k++,继续下一次操作,最后k的值就是数组中不等于val的元素的个数

相关推荐
Wect15 小时前
LeetCode 97. 交错字符串:动态规划详解
前端·算法·typescript
爱学习的张大15 小时前
具身智能论文问答(三):Open VLA
人工智能·算法
早日退休!!!15 小时前
大模型推理瓶颈七层分析模型
java·服务器·数据库
叶小鸡15 小时前
Java 篇-项目实战-天机学堂(从0到1)-day9
java·开发语言
wearegogog12315 小时前
基于Q-learning的栅格地图路径规划MATLAB仿真程序
开发语言·算法·matlab
@#¥&~是乱码鱼啦15 小时前
Spring分层架构:Controller、Service、Mapper数据链路,IOC的真实工作意义
java·spring·架构
旖-旎15 小时前
深搜练习(组合总和)(7)
c++·算法·深度优先·力扣
小O的算法实验室16 小时前
2026年ASOC,基于人工势场的差分进化算法改进框架,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
xieliyu.16 小时前
Java手搓数据结构:从零模拟实现无头双向非循环链表
java·数据结构·链表
爱学习的张大16 小时前
具身智能论文精读(五):OpenVLA
人工智能·算法