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

相关推荐
泡沫冰@11 分钟前
数据结构(20)
数据结构
松涛和鸣15 分钟前
11.C 语言学习:递归、宏定义、预处理、汉诺塔、Fibonacci 等
linux·c语言·开发语言·学习·算法·排序算法
王者之座1 小时前
java+maven配置yguard的一次实验
java·spring boot·maven
2501_941111242 小时前
C++与自动驾驶系统
开发语言·c++·算法
2501_941111692 小时前
C++中的枚举类高级用法
开发语言·c++·算法
q***61502 小时前
eclipse配置Spring
java·spring·eclipse
jz_ddk2 小时前
[算法] 算法PK:LMS与RLS的对比研究
人工智能·神经网络·算法·信号处理·lms·rls·自适应滤波
Miraitowa_cheems2 小时前
LeetCode算法日记 - Day 106: 两个字符串的最小ASCII删除和
java·数据结构·算法·leetcode·深度优先
旭编2 小时前
小红的好矩形
c++·算法