zoukankan      html  css  js  c++  java
  • leetcode_350. 两个数组的交集 II

    350. 两个数组的交集 II
    给定两个数组,编写一个函数来计算它们的交集。
    
     
    
    示例 1:
    
    输入:nums1 = [1,2,2,1], nums2 = [2,2]
    输出:[2,2]
    示例 2:
    
    输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]
    输出:[4,9]
     
    
    说明:
    
    输出结果中每个元素出现的次数,应与元素在两个数组中出现次数的最小值一致。
    我们可以不考虑输出结果的顺序。
    进阶:
    
    如果给定的数组已经排好序呢?你将如何优化你的算法?
    如果 nums1 的大小比 nums2 小很多,哪种方法更优?
    如果 nums2 的元素存储在磁盘上,内存是有限的,并且你不能一次加载所有的元素到内存中,你该怎么办?
    
    class Solution:
        def intersect(self, nums1: List[int], nums2: List[int]) -> List[int]:
            nums1.sort()
            nums2.sort()
            ls=[]
            p1=p2=0
            while(p1<len(nums1) and p2<len(nums2)):
                if nums1[p1]==nums2[p2]:
                    ls.append(nums1[p1])
                    p1+=1
                    p2+=1
                elif nums1[p1]<nums2[p2]:
                    p1+=1
                else:
                    p2+=1
            return ls
    
    class Solution:
        def intersect(self, nums1: List[int], nums2: List[int]) -> List[int]:
            ls=[]
            nums1.sort()
            nums2.sort()
            p1=p2=0
            while(p1<len(nums1) and p2<len(nums2)):
                if nums1[p1]==nums2[p2]:
                    ls.append(nums1[p1])
                    p1+=1
                    p2+=1
                elif nums1[p1]<nums2[p2]:
                    p1+=1
                else:
                    p2+=1
           
           
           
           
           
            return ls
    
  • 相关阅读:
    克如斯卡尔 P1546
    真正的spfa
    第四课 最小生成树 要点
    关于vscode中nullptr未定义
    cmake学习笔记
    python学习笔记
    (BFS 图的遍历) 2906. kotori和迷宫
    (图论基础题) leetcode 997. Find the Town Judge
    (BFS DFS 并查集) leetcode 547. Friend Circles
    (BFS DFS 图的遍历) leetcode 841. Keys and Rooms
  • 原文地址:https://www.cnblogs.com/hqzxwm/p/14119355.html
Copyright © 2011-2022 走看看