leetcode 第一题 两数之和

发布时间 2023-11-05 13:30:03作者: hongdouni

题目

给定一个整数数组 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值的结果