1. Two Sum
問題文
整数 nums の配列と整数 target を指定すると、合計が target になるような 2 つの数値のインデックスを返す関数を実装します。
各入力にはソリューションが 1 つだけ存在し、同じ要素を 2 回使用することはできないと想定できます。
回答は任意の順序で返すことができます。
回答
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class TwoSum {
public static void main(String[] args) {
System.out.println("Hello world!");
}
public int[] twoSum(int[] nums, int target) {
for (int i = 0; i < nums.length; i++) {
int num = nums[i];
for (int j = i+1; j < nums.length; j++) {
int num2 = nums[j];
if (num + num2 == target) {
return new int[]{i, j};
}
}
}
return null;
}
}
numsを受け取って、numにインデックス毎の値を保存します。numsを巡回しながら、設定されてるnumに対して合計がtargetの場合のみif条件にかかり、結果をリターンするようなコードです。
This post is licensed under CC BY 4.0 by the author.