map&set
hash表需要了解hash函数和hash碰撞,hash碰撞需要利用拉链表方式进行
集合set的实现底层是hash(乱序,时间复杂度要求高)或者是二叉树(有序的)
变位词,字母相同组成的单词不同
解题:1.排序sort (快排O(nlogN)) 2.map 计数(O(N))
set常用于查询和计数
两数之和
1.暴力求解(嵌套循环)O(N2)
2.枚举x,set中查找9-x是否存在O(N)
三数之和
1.暴力循环O(N3)
2。枚举a,b,set中查询9-(a+b)O(N2)
3.先排序,再查找,枚举起点元素,再在子数组中找,两边逼近O(N20