学了那么久的C++,今天才发现除了最最基础的语法啥也不会。摊手。
代码来自力扣
// 时间复杂度:O(n)
// 空间复杂度:O(n)
// 空间换时间
public:
vector<int> twoSum(vector<int>& nums, int target) {
unordered_map<int, int> map;
for (int i = 0; i < nums.size(); i++) {
int x = nums[i];
if (map.count(target - x)) {
int index = map[target - x];
return {i, index};
}
map[x] = i;
}
return {};
}
利用哈希做的。
其中,
unordered_map<int, int> map;
和普通map的区别就是一个有序一个无序。
count()是个计数函数
顺便,最近学python发现函数可以返回多个参数(其实是一个list),还觉得好方便啊别的为啥没有。
然后今天才知道C++也可以。。。
学无止境。

博主分享了在力扣上使用C++解决两数之和问题的经验,通过哈希表实现O(n)的时间复杂度。文中提到unordered_map与普通map的区别,以及count()函数的作用。此外,博主还提到了Python中函数可以返回多个参数的特性,并表达了对C++中同样功能的惊喜。文章以自我反思和学习新知的态度结尾,强调学无止境。
952

被折叠的 条评论
为什么被折叠?



