
算法
灵魂清零
一直走,不回头。欢迎关注公众号 "前端IT",一起学习、一起探讨、一起成长。
展开
-
删除有序数组中的重复项
将快指针 fast 依次遍历从 1 到 n−1 的每个位置,对于每个位置,如果 nums[fast]≠nums[fast−1] ,说明 nums[fast] 和之前的元素都不同,因此将 nums[fast] 的值复制到 nums[slow],然后将 slow 的值加 1,即指向下一个位置。由于给定的数组nums 是有序的,因此对于任意 i原创 2024-02-19 14:17:40 · 553 阅读 · 0 评论 -
移除数组中的元素
由于题目要求删除数组中等于 val 的元素,因此输出数组的长度一定小于等于输入数组的长度,我们可以把输出的数组直接写在输入数组上。可以使用双指针:右指针 R 指向当前将要处理的元素,左指针 L 指向下一个将要赋值的位置。如果右指针指向的元素不等于 val,它一定是输出数组的一个元素,我们就将右指针指向的元素复制到左指针位置,然后将左右指针同时右移;如果右指针指向的元素等于 val,它不能在输出数组里,此时左指针不动,右指针右移一位。的元素,并返回移除后数组的新长度。内容描述: 给你一个数组。原创 2024-02-19 12:05:18 · 506 阅读 · 0 评论