美文网首页
双指针 06

双指针 06

作者: 眼若繁星丶 | 来源:发表于2021-04-06 11:54 被阅读0次
LeetCode 80

原题链接

HashMap

public int removeDuplicates(int[] nums) {
    Map<Integer, Integer> map = new HashMap<Integer, Integer>();
    int i = 0;
    for (int num : nums) {
        int count = (int) map.getOrDefault(num, 0) + 1;
        map.put(num, count);
        if (count <= 2) {
            nums[i++] = num;
        }
    }
    return i;
}

双指针

  • 用了官方的思路
官方思路
class Solution {
    public int removeDuplicates(int[] nums) {
        int n = nums.length;
        if (n <= 2) {
            return n;
        }
        int slow = 2, fast = 2;
        while (fast < n) {
            if (nums[slow - 2] != nums[fast]) {
                nums[slow] = nums[fast];
                ++slow;
            }
            ++fast;
        }
        return slow;
    }
}

相关文章

  • 双指针 06

    原题链接[https://leetcode-cn.com/problems/remove-duplicates-f...

  • ZXAlgorithm - C7 Two Pointers

    Outline相向双指针同向双指针 Two SumPartitionSort 0 Templete 同向双指针,相...

  • 双指针:15.三数之和

    考点:双指针 使用双指针搜索之前排序 动态循环双指针m,n

  • Python算法-双指针(Two Pointers)

    双指针分为「对撞指针」、「快慢指针」、「分离双指针」。 参考来源:https://algo.itcharge.cn...

  • 双指针法(Swift代码篇)

    双指针法有三种: 左右指针法(头尾指针法) 快慢指针法 滑动窗口 左右指针法 左右指针法是最常见的双指针法,左右两...

  • 2020-06-14-双指针

    Leetcode-15-三数之和 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a...

  • 2022-04-06 双指针

    剑指 Offer 57. 和为s的两个数字[https://leetcode-cn.com/problems/he...

  • 双指针

    双指针主要用于遍历数组,两个指针指向不同的元素,从而协同完成任务。双指针可以从不同的方向向中间逼近也可以朝着同一个...

  • 双指针

    颜色分类,最令我头疼的一个双指针问题... 给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排...

  • 双指针

    一、双指针总结 1.1题目 快慢指针(主要解决链表中的问题) 141.环形链表 142.环形链表 II 876.链...

网友评论

      本文标题:双指针 06

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