每日一题(再看两数之和)+吐槽
. 两数之和
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。
示例:
给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
//使用哈希表重新解决力扣第一题两数之和
// Created by 徐昊岩 on 2023/10/24.
//第一次写是靠两遍for循环解决的,最好的时间是334ms,结果用了哈希表后,好家伙,8ms解决
//当你需要执行“查找”操作时,那么你需要想到使用哈希表来减少查找时间,cpp中,数组、unordered_map/set都是基于哈希表实现的,并且注意,把需要查找的值记作key
//有问题逐步模拟一遍io
#include "vector"
#include "unordered_map"
using namespace std;
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
unordered_map<int,int> umap;
for (int i = 0; i < nums.size(); ++i) {
if(umap.find(target-nums[i])!=umap.end()){
return {i,umap.at(target-nums[i])};
} else umap.emplace(nums[i],i);
}
return {};
}
};
int main(){
vector<int> a={3,2,4};
Solution s1;
s1.twoSum(a,6);
}
Python深度学习环境又炸了,想看指静脉识别没看成,忙物理实验去了
时间真不够啊,得提高效率!
C:\Users\徐昊岩\PycharmProjects\pythonProject\helloworld\Lib\site-packages\Scripts\python.exe