zoukankan      html  css  js  c++  java
  • First non repeating word in a file? File size can be 100GB.

    1 solution 1

    1.1 数据结构

    一个Hashmap和一个双向链表。如果想要快速获取first,并且只遍历一次,那么就要想到双向链表和HashMap的组合。

    链表可以保证第一个在head处,HashMap可以保证查找O(1)。

    HashMap的key是word本身,value是双向链表中的一个节点。

    1.2 思路

    遍历每个word,查找HashMap,如果已经存在,那么将双向链表中对应的节点删除,并且将HashMap中的value设置为null。

    如果不存在,那么插入双向链表的尾部。

    遍历完后返回双向链表的head即可。

  • 相关阅读:
    洛谷P1272 重建道路
    uva 10004
    uva10305
    uva 10044
    uva 120
    uva699
    uva297
    uva11111
    uva 101
    uva10152 ShellSort
  • 原文地址:https://www.cnblogs.com/hustdc/p/10950209.html
Copyright © 2011-2022 走看看