github地址:github.com/king-wk/leetcode
第一题是比较容易的遍历比较题,只需要稍稍注意元素不要重复使用就可以啦。
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 来源:力扣(LeetCode)
遍历nums中的每一个数,目标值减去该数即得到差,再将差与该数之前的数进行比对,如果有符合情况,输出两个数的下标即可。
也可以不采用result数组记录下标,直接将下标插入要返回的vector中
class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { unordered_map<int,int>record; vector<int>result; for(int i=0; i < nums.size(); i++) { int difference = target - nums[i]; if(record.find(difference) != record.end()){ result.push_back(record[difference]);//直接通过push_back函数插入即可 result.push_back(i); return result; } record[nums[i]]=i; } return{}; } };如果觉得文章对你有用,欢迎关注❤️、评论📝、点赞👍! 也可以follow我的GitHub账号,里面有更多惊喜哦,等着各位小主的star★呀