Leetcode 移除元素

使用双指针来解决此问题,一个遍历指针 i,一个 k 指针,k 指针初始从第一个元素开始,当遇到当前数组元素 numsi 不等于 val 时,我们就把 numsi 挪到 k 指针的位置上,然后 k 右移一位。

java 代码

java 复制代码
class Solution {
    public int removeElement(int[] nums, int val) {
        int k = 0;

        for(int i = 0; i < nums.length; ++i) {
            if(nums[i] != val) {
                nums[k++] = nums[i];
            }
        }
        return k;
    }
}
相关推荐
程序员黎剑19 分钟前
Spring-Bean生命周期-构造器访问Autowired字段为null
java·后端·spring
小白羊丨22 分钟前
如何诊断 Prompt 模板导致的效果下降?
人工智能·算法·prompt
古法安卓39 分钟前
Android-重启流程源码解析
android·java·android studio
清水白石0081 小时前
Python 类型设计深度解析:TypedDict 能否替代 dataclass?从 JSON 数据边界到 API 设计的最佳实践
java·python·json
晊晌_h1 小时前
嵌入式从0到精通——线程
java·开发语言·jvm
一木 之林1 小时前
五、C++ 新特性、关键字与编译原理(进阶)(二)
java·开发语言·c++
OPEN-F1 小时前
C++11/14新特性精讲:移动语义与智能指针实战
开发语言·c++·算法
洋不写bug1 小时前
绕过权限检查,访问修改私有属性,反射,枚举,lambda
java·枚举·lambda·反射
evans在进步2 小时前
Java 常用设计模式入门:建造者、工厂、单例、外观与代理
java·python·设计模式
lisin-lee-cooper2 小时前
【leetcode658】有序数组找出k个最接近x的数
java·数据结构·算法