1.两数之和
暴力解法:方法简单但是时间复杂度为O(n^2),空间复杂度为O(1);运行速度慢且内存空间消耗大
返回数组要动态分配内存。malloc是c语言中的动态分配内存,res=(int*)malloc(sizeof(int)2);malloc函数返回的是void型,所以要强制类型转换成int*,在前面加上(int *),才能给整型赋值。j=i+1是因为不能重复利用数组的元素。函数中参数returnSize是返回数组的长度,固定为2。
返回值return{i,j},返回类型为vector,用的是列表初始化返回值。向量可以直接用数组的方式[]用下标访问。
两遍哈希表:
该方法用map实现,map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力
一遍哈希表
在进行迭代并将元素插入到表中的同时,我们还会回过头来检查表中是否已经存在当前元素所对应的目标元素。如果它存在,那我们已经找到了对应解,并立即将其返回。