V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
naoh1000
V2EX  ›  算法

集合求交集有比两个 for 效率更高的方法吗?

  •  
  •   naoh1000 · Feb 2, 2021 via iPhone · 1930 views
    This topic created in 1918 days ago, the information mentioned may be changed or developed.
    前端程序员,刚才听到 HR 说来面试的求交集只会两个 for,我想了一下也确实只想到一个 for 把集合 A 加入 hashmap,另一个逐项查找集合 B 是否在 hashmap 中,还有更好的方法吗?
    4 replies    2021-02-02 12:51:12 +08:00
    elonmask
        1
    elonmask  
       Feb 2, 2021
    很明显得用 set,数据是整数同时值比较小的话,可以数组,类似那种计数的方式
    pianjiao
        2
    pianjiao  
       Feb 2, 2021 via Android
    map set
    mcfog
        3
    mcfog  
       Feb 2, 2021 via Android
    搞清楚 M+N 复杂和 M*N 复杂就行了,很容易证明理论最小复杂度就是 M+N
    Inf1nity
        4
    Inf1nity  
       Feb 2, 2021
    我觉得无论如何都要遍历两次,复杂度 O(M+N)。各类 Set 应该就可以满足需要了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   993 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 101ms · UTC 23:18 · PVG 07:18 · LAX 16:18 · JFK 19:18
    ♥ Do have faith in what you're doing.