Leecode演習1:2つの数値の合計

Leecode演習1:2つの数値の合計

元の質問:
整数配列numsと整数ターゲット値targetが与えられた場合、合計が配列のターゲット値である2つの整数を見つけて、それらの配列添え字を返します。

各入力は1つの回答にのみ対応すると想定できます。ただし、配列内の同じ要素を2回使用することはできません。

回答は任意の順序で返すことができます。

出典:LeetCode(LeetCode)
リンク:https ://leetcode-cn.com/problems/two-sum
著作権はLeetCodeが所有しています商用の再版については、公式の承認に連絡してください。非商用の再版については、出典を示してください。

leecodeによって渡されるコード:

import java.util.Scanner;
class Solution {
    
    
    public int[] twoSum(int[] nums, int target) {
    
    
        int[] m=new int[2];
        for(int i=0;i<nums.length;i++){
    
    
            for(int j=i+1;j<nums.length;j++){
    
    
                if(nums[i]+nums[j]==target){
    
    
                    m[0]=i;m[1]=j;
                }
            }
        }
        return m;
    }
}
public class Main{
    
    
    public static void main(String[] args){
    
    
        Scanner reader=new Scanner(System.in);
        String s;
        s=reader.next();
        int k;
        k=reader.nextInt();
        String a[]=s.split(",");
        int b[]=new int[a.length];
        for(int i=0;i<a.length;i++){
    
    
            b[i]=Integer.parseInt(a[i]);
        }
        Solution sol=new Solution();
        sol.twoSum(b,k);
    }
}
/*
2,7,11,15
9

 */

演算結果:
ここに画像の説明を挿入
leecodeコンパイラはこの方法で配列を返し、正しい結果を出力しますが、Eclipseでは機能しません。メソッドのreturnを削除し、出力の文を追加するだけです。
コードは次のように表示されます。

import java.util.Scanner;
class Solution {
    
    
    int[] m=new int[2];
    public int[] twoSum(int[] nums, int target) {
    
    
        for(int i=0;i<nums.length;i++){
    
    
            m[0]=i;
            for(int j=i+1;j<nums.length;j++){
    
    
                m[1]=j;
                if(nums[i]+nums[j]==target){
    
    
                	System.out.printf("[%d,%d]",i,j);
                }
            }
        }
        return m;
    }
    
}
public class Main{
    
    
    public static void main(String[] args){
    
    
        Scanner reader=new Scanner(System.in);
        String s;
        s=reader.next();
        int k;
        k=reader.nextInt();
        String a[]=s.split(",");
        int b[]=new int[a.length];
        for(int i=0;i<a.length;i++){
    
    
            b[i]=Integer.parseInt(a[i]);
        }
        Solution sol=new Solution();
        sol.twoSum(b,k);
    }
}
/*
2,7,11,15
9

 */

結果:
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_46020391/article/details/112849060