leetcode 第一题 两数之和
题目
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。
你可以按任意顺序返回答案。

初级阶段
Java
主要在于
数组定义
数据类型 数组名[ ]=new 数据类型[长度]
获取数组的长度用
数组名.length
后续要改进的点
1、动态数组长度
2、将时间复杂度降低O(n2)以下
lass Solution {
public int[] twoSum(int[] nums, int target) {
//返回值:数组
int nums_first[]=new int[2];
int number=0;
int length=nums.length;
for(int i=0;i<length;i++)
for(int j=i+1;j<length;j++)
{
if(nums[i]+nums[j]==target)
{ nums_first[number++]=i;
nums_first[number++]=j;
break;}
}
// for(int n=0;n<number;n++)
// System.out.print(nums_first[n]);
return nums_first;
}
}
C++
向量定义方式
vector<数据类型> 向量名称(向量容量,起始位置)
class Solution {
public:
vector<int> twoSum(vector<int>& nums,int target) {
vector<int> a(2,0);
int number=0;
int length=nums.size();
for(int i=0;i<length;i++)
for(int j=i+1;j<length;j++)
if(nums[i]+nums[j]==target)
{a[number++]=i;
a[number++]=j;
break;}
return a;
}
};
以上只解决了在数组中出现一次两两相加符合target值的结果

浙公网安备 33010602011771号