美文网首页
力扣算法小计(一):27. 移除元素

力扣算法小计(一):27. 移除元素

作者: 南风知我咦 | 来源:发表于2023-04-09 22:44 被阅读0次

题目

思路

  • 一开始想着怎么删除元素哈,想了很久,然后发现了一句话:
函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数组中超出新长度后面的元素
  • 你不需要考虑数组中超出新长度后面的元素这句话关键啊,所以只需要把符合的元素移到队尾就OK了。
  • 所以整体思路就是双指针,前面的判断是否需要剔除的元素,后面的指针指向需要交换的元素
  • 每次找到需要剔除的元素,right指针的元素赋值给left。然后right--。(因为交换后right就是剔除的无效元素了,所以需要指向前一个有用的元素)。
  • 不断循环知道left>right
  • 返回left就是剩余的有效的元素个数。

代码

    /**
     * 双指针
     * @return
     */
    public static int stupidFun(int[] nums, int val) {
        int left = 0;
        int right = nums.length - 1;
        while (left < right) {
            if (nums[left] == val) {
                nums[left] = nums[right];
                right--;
            }else
                left++;
        }
        return left;
    }

相关文章

  • leetcode不定期刷题---27. 移除元素

    27. 移除元素 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/prob...

  • 力扣算法 - 移除链表元素

    移除链表元素 删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3->4->5->6, v...

  • 力扣 27 移除元素

    题意:给定一个数组,和一个数,移除数组中的给定数 思路: 设定两个指针,一个记录当前合法的数组最后的位置end,一...

  • 27. 移除元素 Remove Element

    27. 移除元素 Remove Element https://leetcode-cn.com/problems...

  • Leetcode 27. 移除元素

    Tags: Two Pointer,双指针,java,swift,javascript 题目 27. 移除元素 -...

  • Leetcode-27 移除元素

    27. 移除元素[https://leetcode-cn.com/problems/remove-element/...

  • 双指针

    27. 移除元素[https://leetcode.cn/problems/remove-element/] 难度...

  • 每日Leetcode—算法(4)

    27.移除元素 给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数...

  • 27. 移除元素

    27. 移除元素 问题 给定一个数组 和一个值 ,你需要原地移除所有数值等于 的元素,返回移除后数组的新长度。 ...

  • 27. 移除元素

    内容 给定一个数组 nums和一个值 val,你需要原地移除所有数值等于 val的元素,返回移除后数组的新长度。 ...

网友评论

      本文标题:力扣算法小计(一):27. 移除元素

      本文链接:https://www.haomeiwen.com/subject/tmliddtx.html