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;
    }
}
相关推荐
SL_staff13 小时前
10人团队如何用轻量私有化文档平台实现知识复用提效?技术视角拆解B/S架构下的协作闭环
java·开源·全栈
释厄62313 小时前
同性线套娃律——圆面积必然=1+2+...+n 的求和·圆心不与 π 相关
java·人工智能·算法·1024程序员节
暴力求解13 小时前
C++ ---继承(二)
开发语言·c++·算法
猫猫.15313 小时前
IO、存储、硬盘、文件系统详细总结
java·java-ee
SL_staff14 小时前
设备离线时业务不中断:JVS-IOT高可用架构解析
java·物联网·产品
码林拾遗WJ14 小时前
告警分级的自动化实测:模型判断 vs 人工拍板
人工智能·算法·自动化
郭小李14 小时前
mybatis 动态 sql
java·sql·mybatis
Tisfy14 小时前
LeetCode 0453.最小操作次数使数组元素相等:两次遍历(反向思维)
算法·leetcode·题解·遍历·反向思维
瑞码空间14 小时前
JSP与Servlet核心开发与CRUD实战笔记
java·笔记·servlet·jsp
知守观14 小时前
技术考古:iBATIS 2.3.4 时代的持久层,是如何用 Map 玩转 307 个存储过程的?
java·后端·mybatis