LeetCode--移除元素

题目:

解法:

双指针思想,运用快慢指针解决问题

数组中的元素是连续不间断的,因此移除元素,其实是被移除元素的下一个元素覆盖掉被移除元素,我们可以用一个快指针(fast)遍历这个数组,寻找我们新数组的值,如果原数组中的元素不等于val,则将快指针寻找到的数赋值给慢指针(slow的值对应新数组新存入元素下标),由慢指针存入新数组,直到快指针所指元素等于val,跳过该数,继续遍历。最终新数组中的元素个数其实就是slow的值(每存入一个数,slow++)

java 复制代码
class Solution {
    public int removeElement(int[] nums, int val) {  
        int slow = 0;
        for(int fast = 0;fast < nums.length;fast++){
            if(nums[fast] != val){
                nums[slow++] = nums[fast];
            }
        }
        return slow;
    }
}
相关推荐
失去的青春---夕阳下的奔跑几秒前
560. 和为 K 的子数组
数据结构·算法·leetcode
黎阳之光31 分钟前
黎阳之光:以视频孪生重构智慧医院信息化,打造高标项目核心竞争力
大数据·人工智能·物联网·算法·数字孪生
丷丩1 小时前
三级缓存下MVT地图瓦片服务性能优化策略
算法·缓存·性能优化·gis·geoai-up
m0_629494731 小时前
LeetCode 热题 100-----25.回文链表
数据结构·算法·leetcode·链表
ʚ希希ɞ ྀ2 小时前
单词拆分----dp
算法
智者知已应修善业3 小时前
【51单片机LED闪烁10次数码管显示0-9】2023-12-14
c++·经验分享·笔记·算法·51单片机
智者知已应修善业3 小时前
【51单片机2按键控制1个敞亮LED灯闪烁和熄灭】2023-11-3
c++·经验分享·笔记·算法·51单片机
AI算法沐枫3 小时前
大模型 | 大模型之机器学习基本理论
人工智能·python·神经网络·学习·算法·机器学习·计算机视觉
吃着火锅x唱着歌3 小时前
LeetCode 1019.链表中的下一个更大节点
算法·leetcode·链表