移除元素-力扣

  • 第一种解法,暴力解法,使用两个for循环一个进行遍历,一个进行覆盖,代码如下:
cpp 复制代码
class Solution {
public:
    int removeElement(vector<int>& nums, int val) {
        int size = nums.size();
        for(int i =0; i < size; i++){
            if(nums[i] == val){
                for(int j=i+1; j < size; j++){
                    nums[j-1] = nums[j];
                }
                i--;
                size--;
            }
        }
        return size;
    }
};
  • 第二种解法,双指针法(快慢指针法): 通过一个快指针和慢指针在一个for循环下完成两个for循环的工作。
  • 快指针:寻找新数组的元素 ,新数组就是不含有目标元素的数组
  • 慢指针:指向更新 新数组下标的位置

代码如下:

cpp 复制代码
class Solution {
public:
    int removeElement(vector<int>& nums, int val) {
        int size = nums.size();
        int slowindex = 0;
        int fastindex = 0;
        for(fastindex; fastindex < size; fastindex++){
            if(nums[fastindex] != val){
                nums[slowindex++] = nums[fastindex];
            }
        }
        return slowindex;
    }
};
相关推荐
CoderYanger31 分钟前
C.滑动窗口-求子数组个数-越长越合法——2799. 统计完全子数组的数目
java·c语言·开发语言·数据结构·算法·leetcode·职场和发展
厕所博士35 分钟前
红黑树原理前置理解—— 2-3 树
算法·2-3树·红黑树原理理解前置
萌>__<新1 小时前
力扣打卡每日一题————除自身外所有元素的乘积
数据结构·算法
xu_yule2 小时前
算法基础—搜索(2)【记忆化搜索+BFS+01BFS+Floodfill]
数据结构·算法
s09071362 小时前
Xilinx FPGA使用 FIR IP 核做匹配滤波时如何减少DSP使用量
算法·fpga开发·xilinx·ip core·fir滤波
老马啸西风2 小时前
成熟企业级技术平台-10-跳板机 / 堡垒机(Bastion Host)详解
人工智能·深度学习·算法·职场和发展
子夜江寒2 小时前
逻辑回归简介
算法·机器学习·逻辑回归
软件算法开发2 小时前
基于ACO蚁群优化算法的多车辆含时间窗VRPTW问题求解matlab仿真
算法·matlab·aco·vrptw·蚁群优化·多车辆·时间窗
another heaven2 小时前
【软考 磁盘磁道访问时间】总容量等相关案例题型
linux·网络·算法·磁盘·磁道
tap.AI2 小时前
理解FSRS算法:一个现代间隔重复调度器的技术解析
算法