借助map辅助:
class Solution {
public:
/**
*
* @param numbers int整型vector
* @param target int整型
* @return int整型vector
*/
vector twoSum(vector &numbers, int target) {
// write code here
unordered_map m;
// 1. 存储下标到map
for (int i = 0; i < numbers.size(); ++i) m[numbers[i]] = i + 1;
// 2. 再次扫描序列
for (int i = 0; i < numbers.size(); ++i) {
if (m.find(target - numbers[i]) != m.end()) {
int idx = m[target - numbers[i]];
vector vec = {i + 1, idx};
if (idx > i + 1) return vec;
}
}
}
};
京公网安备 11010502036488号