一.题目
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出和为目标值 target的那两个整数,并返回它们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。
你可以按任意顺序返回答案。
示例 : 输入:nums = [3,2,4], target = 6 输出:[1,2]
二.分析
1.采用class solution来解决函数,class solution当作一个类。
2.采用vector容器。
(1)vector功能:其数据结构与数组十分相似,也称为单端数组
(2)vector与普通数组的区别:数组是静态空间,而vector可以动态扩展
(3)动态扩展:并不是在原空间后续借新空间,而是找更大的内存空间,然后将原数据拷贝新空间,释放原空间
(4)函数原型:
vector<T>v; //采用模板实现类实现,默认构造函数
vector(v.begin(),v.end()); //将v[begin(),end())区间中的元素拷贝给本身 前闭后开区间[ )
vector(n,elem); //构造函数将n个elem拷贝给本身
vector(const vector &vec); //拷贝构造 函数
3,由于数组不能重复出现同一个答案,采用if判断
三.代码
#include<iostream>
#include<vector>
using namespace std;
class Solution
{
public:
vector<int> twoSum(vector<int>& nums, int target)
{
int i,j;
for(i=0;i<nums.size()-1;i++)
{
for(j=i+1;j<nums.size();j++)
{
if(nums[i]+nums[j]==target)
{
return {i,j};
}
}
}
return {};
};
};
标签:target,nums,相加,vector,数组,拷贝,例题,class,刷题 From: https://www.cnblogs.com/qctry/p/18095608