首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hechuanhua
V2EX  ›  程序员

在 1000 万行的文件里面找相同的行,并且记录行数和重复次数,用前端的代码实现

  •  1
     
  •   hechuanhua · 6 天前 · 1517 次点击

    咋搞?

    16 条回复    2020-03-26 15:48:54 +08:00
    Mithril
        1
    Mithril   6 天前
    这文件传到前端确定不会撑爆用户浏览器?
    hechuanhua
        2
    hechuanhua   6 天前
    @Mithril 不知道,题目就是这样的,可以多种代码实现,但是我希望是 JS,不知道能不能解决
    wednesdayco
        3
    wednesdayco   6 天前
    老生常谈,先分片。再考虑找行的事情。
    VDimos
        4
    VDimos   6 天前 via Android
    算哈希呗
    123444a
        5
    123444a   6 天前 via Android   ❤️ 1
    bloom filter, 浏览器必备
    luckyrayyy
        6
    luckyrayyy   6 天前
    大流量查重请认准 bloom filter
    asAnotherJack
        7
    asAnotherJack   6 天前
    先遍历每一行按哈希拆成一万份文件,再对每一个文件找出重复的,最后整合到一起?
    robinlovemaggie
        8
    robinlovemaggie   6 天前
    设计一款浏览器,自动实现文件实时逐行滚动读取,然后凭借一个强大的 AI 内核来完成记录分析,名字就叫:矩阵牌浏览器
    reus
        9
    reus   6 天前
    for 循环不会写?
    xingyuc
        10
    xingyuc   6 天前
    先搞定提出问题的人
    whatsmyip
        11
    whatsmyip   6 天前   ❤️ 1
    分治,先哈希打散到文件,然后随便你怎么搞
    dremy
        12
    dremy   6 天前 via iPhone
    纯 hash 费空间,1000w 的 int key 每个需要至少 3 个字节,一共 28MB,bloom filter 省大量空间,估计可以不到 100k
    raymanr
        13
    raymanr   6 天前
    @Mithril 我觉着既然前提是浏览器不会撑爆, 那就干脆再加个一前万个 key 的字典吧..
    hetiansu5
        14
    hetiansu5   6 天前
    @dremy 100K 也就 80W bit,全部占满了。
    crella
        15
    crella   6 天前 via Android
    逐行算出哈希值,按哈希值的前几个字母,分类并存到各个文件,然后各个文件内在继续比较。
    0bit
        16
    0bit   6 天前
    HyperLogLog
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1493 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 17:52 · PVG 01:52 · LAX 10:52 · JFK 13:52
    ♥ Do have faith in what you're doing.