LeetCode:1.两数之和(Two Sum)Java完整代码

这是包含输入的完整Java代码。
LeetCode:1.两数之和(Two Sum)
题解与思路

方法一:

import java.util.*;
/**
 * 在这里给出对类 LC1TwoSum 的描述。
 * LC1-暴力
 * @作者(yequan17)
 * @版本(2021.12.5)
 */
public class LC1TwoSum
{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        String[] str=sc.nextLine().replace("[","").replace("]","").split(",");
        int[] nums=new int[str.length];
        for(int i=0;i<nums.length;i++){
            nums[i]=Integer.parseInt(str[i]);
        }
        int target=sc.nextInt();
        int[] result=twoSum(nums,target);
        System.out.print("["+result[0]+","+result[1]+"]");
        sc.close();
    }
    public static int[] twoSum(int[] nums,int target){
        int n=nums.length;
        int[] result=new int[2];
        for(int i=0;i<n-1;i++){
            for(int j=i+1;j<n;j++){
                if(nums[j]==target-nums[i]){
                    result[0]=i;
                    result[1]=j;
                    break;
                }
            }
        }
        return result;
    }
  }

方法二

import java.util.*;
/**
 * 在这里给出对类 LC1TwoSum2 的描述。
 * 
 * @作者(yequan17)
 * @版本(2021.12.5)
 */
public class LC1TwoSum2
{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        String[] str=sc.nextLine().replace("[","").replace("]","").split(",");
        int[] nums=new int[str.length];
        for(int i=0;i<nums.length;i++){
            nums[i]=Integer.parseInt(str[i]);
        }
        int target=sc.nextInt();
        int[] result=twoSum(nums,target);
        System.out.print("["+result[0]+","+result[1]+"]");
        sc.close();
    }
    public static int[] twoSum(int[] nums,int target){
            int n=nums.length;
            int[] result=new int[2];
            Map<Integer,Integer> hashtable=new HashMap<Integer,Integer>();
            for(int i=0;i<n;i++){
                if(hashtable.containsKey(target-nums[i])){
                    result[0]=hashtable.get(target-nums[i]);
                    result[1]=i;
                }
                hashtable.put(nums[i],i);
            }
            return result;
    }
}


版权声明:本文为idler123原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。