更多Java学习资源尽在B站账号:清风学Java
https://space.bilibili.com/591988762
只做Java分享,欢迎个位小伙伴前来观看,更多优质学习资源持续更新中…
两数之和。
给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回
他们的数组下标。
如: 给定 nums = [2,7,11,15], target = 9;
因为 nums[0] + nums[1] = 2+7 = 9;
所以返回: [0,1]
代码详解:
import java.util.ArrayList;
class Subscript{
int num1;
int num2;
public Subscript(int num1, int num2){
this.num1 = num1;
this.num2 = num2;
}
@Override
public String toString() {
return "[" + num1 + ","+ num2 + "]";
}
}
public class exercise1 {
public static void main(String[] args) {
int[] nums = {2,2,2,7};
int target = 4;
ArrayList<Subscript> list = getTarget(nums,target);
System.out.println(list);
}
public static ArrayList<Subscript> getTarget(int[] nums, int target){
//定义ArrayList集合用于存储数组对象,
ArrayList<Subscript> list = new ArrayList<Subscript>();
//遍历数组,寻找符合和元素的下标。
if (nums.length<2){
return null;
}
for (int i=0;i<nums.length-1;i++){
for (int j=i+1;j<nums.length;j++){
if ((nums[i]+nums[j]) == target){
list.add(new Subscript(i,j));
}
}
}
return list;
}
}