注意:本文中的完整代码可以直接在leetcode中通过测试,但在其他编译器中运行时还需要添加头文件以及主函数才可成功运行。
1.粗暴法
1.使用两层循环进行嵌套,第二层的j初始值赋值为i+1;第一层嵌套的i
2.直接返回{i,j}即可,不仅需要在if语句中返回,还需在for循环外部再返回一次。
class Solution {
public:
vector<int> TwoSum(vector<int>& nums, int target) { #size()函数用于获取容器的长度
int i = 0, j = 0;
for (int i = 0; i < nums.size() - 1; i++) {
for (int j = i + 1; j < nums.size();j++) {
if (nums[i] + nums[j] == target) {
return { i,j };
}
}
}
return { i,j };
};
};
代码解释:
1.函数TwoSum前的vector<int>表示的是函数的返回值为vector类型的整型值
2.vector &nums:nums为一个引用,引用的内容是vector这个容器内部存放的整型数据
2.哈希法
2.1两遍哈希表:(使用两次循环)
1.建立空的map,键和值都是整型的;建立容器b,用来