初试LeetCode,刷第一道题:
需要注意的是,LeetCode中只要提交函数即可,不必注重输入输出,格式问题。
给定一个整数数列,找出其中和为特定值的那两个数。
你可以假设每个输入都只会有一种答案,同样的元素不能被重用。
示例:
给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
Java
class Solution {
public int[] twoSum(int[] nums, int target)
{
int[] result = {0, 0};
for(int i=0;i<nums.length;i++)
{
for(int j=i+1; j<nums.length; j++)
{
if(nums[i]+nums[j]==target)
{
result[0]=i;
result[1]=j;
return result;
}
}
}
return result;
}
}
python
在这里使用python提交没问题,使用python3提交,会产生超时的问题,今后可以尝试着改进代码
class Solution:
def twoSum(self, nums, target):
result = []
for i in range(len(nums)):
for j in range(i+1, len(nums)):
if nums[i]+nums[j] == target:
result.append(i)
result.append(j)
return result
C++
class Solution{
public :
vector<int> twoSum(vector<int>& nums, int target){
vector<int>result = vector<int>();
for(int i=0;i<nums.size();i++){
for(int j=i+1;j<nums.size();j++)
{
if(nums[i]+nums[j]==target)
{
result.push_back(i);
result.push_back(j);
return result;
}
}
}
result.push_back(0);
result.push_back(0);
return result;
}
};