力扣 LeetCode 27. 移除元素(Day1:数组)

解题思路:

注意:数组只能覆盖,不能删除

erase方法的复杂度为O( n )而不是O( 1 ),因为需要把删除后后面的数组向前移动

方法一:双层for循环暴力

方法二:快慢指针

fast表示新数组的元素

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];
                slow++;
            }
        }
        return slow;
    }
}
相关推荐
迈巴赫车主18 分钟前
求最大公约数-欧几里得算法(辗转相除法)
算法·最大公约数
测试199825 分钟前
Python+Excel读取和存储测试数据完成接口自动化测试
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
lxl130730 分钟前
C++算法(15)BFS_FloodFill
算法·宽度优先
小王C语言33 分钟前
【基础IO】————简单设计一下libc库
前端·数据结构·算法
亦复何言??35 分钟前
BeyondMimic 论文解析
人工智能·算法·机器人
WolfGang00732138 分钟前
代码随想录算法训练营 Day20 | 回溯算法 part02
算法
YXXY31341 分钟前
前缀和算法
算法
客卿12341 分钟前
滑动窗口--模板
java·算法
_日拱一卒1 小时前
LeetCode:滑动窗口的最大值
数据结构·算法·leetcode
codeの诱惑1 小时前
推荐算法(一):数学基础回顾——勾股定理与欧氏距离
算法·机器学习·推荐算法