class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
m = 0
c = 0
for i in nums:
n=m+1
for j in nums[n:]:
if (i+j) == target:
return [m,n]
n+=1
m+=1
方法二:
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
d = {}
for index,item in enumerate(nums):
query = target-item
if query in d:
return[d[query],index]
d[item] = index
作答代码 | C++:
方法一:
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
int n = nums.size();
for (int i = 0; i < n; ++i) {
for (int j = i + 1; j < n; ++j) {
if (nums[i] + nums[j] == target) {
return {i, j};
}
}
}
return {};
}
};
方法二:
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
unordered_map<int, int> result_list;
for (int i=0; i < nums.size(); i++) {
auto iter = result_list.find(target - nums[i] );
if (iter != result_list.end()) {
return {iter->second, i};
}
//熟练使用
result_list.insert({nums[i], i});
//result_list[nums[i]] = i;
}
return {};
}
};