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的元素的个数

相关推荐
better_liang1 分钟前
每日Java面试场景题知识点之-Java修饰符
java·访问控制·static·abstract·final·修饰符·企业级开发
努力学算法的蒟蒻6 分钟前
day58(1.9)——leetcode面试经典150
算法·leetcode·面试
rgeshfgreh16 分钟前
Spring事务传播机制深度解析
java·前端·数据库
无名-CODING17 分钟前
Java Spring 事务管理深度指南
java·数据库·spring
xiaolyuh12318 分钟前
Spring MVC Bean 参数校验 @Validated
java·spring·mvc
txinyu的博客20 分钟前
map和unordered_map的性能对比
开发语言·数据结构·c++·算法·哈希算法·散列表
蕨蕨学AI24 分钟前
【Wolfram语言】45.2 真实数据集
java·数据库
搞笑症患者34 分钟前
压缩感知(Compressed Sensing, CS)
算法·最小二乘法·压缩感知·正交匹配追踪omp·迭代阈值it算法
im_AMBER38 分钟前
Leetcode 101 对链表进行插入排序
数据结构·笔记·学习·算法·leetcode·排序算法
予枫的编程笔记39 分钟前
【Java集合】深入浅出 Java HashMap:从链表到红黑树的“进化”之路
java·开发语言·数据结构·人工智能·链表·哈希算法