常用方法 1.哈希表 表的存储形式是键值对: key->value ,C ++中有各种map实现了这种结构:map,unorderd_map,hash_map。由于性能优势,使用面广,有许多第三方类库提供了支持,如MSVC中的和Boost中的,后来Boost的unordered_map被吸纳进了C ++ 11标准。 (1)1.两数之和 译文描述:给你一个数组,要在多个中找到两个数字a和b ,相加等于target ,返回a和b在数组中的索引。 做法:遍历数组,假设当前遍历到的数是x ,如果能在数组中找到target-x ,就成功了。把已经遍历过的数作为key加入哈希表,它的索引作为value 。迭代遍历时在哈希表中查找key为target-x的值,如果找到,说明没有匹配的,然后把当前元素x作为key加入哈希表继续迭代。