赞
踩
给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标,
你可以假设每种输入只会对应一个答案,但是,你不能重复利用这个数组中同样的元素。
例如:输入:nums=[2, 7, 11, 15], target = 9
因为nums[0]+nums[1] = target=9,所以返回[0, 1]
C++暴力法:时间复杂度为O(N^2),空间复杂度为O(1)
- class Solution{
- public:
- vector<int> twosum(vector<int> & nums, int target){
- 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};
- break;
- }
- }
- }
- return ;
- };
C++STL版本(建立哈希表的方法):时间复杂度为O(n)
- class Solution{
- public:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。