题目描述:
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出 和 为目标值的那 两个 整数,并返回他们的数组下标。
你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。
我的解答:
package Simple; import java.util.Arrays; /* 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 */ public class Solution { private static int[] res = new int[2]; public static void main(String[] args) { int[] nums={2,7,11,15}; int target = 26; Solution sol = new Solution(); res = sol.twoSum(nums, target); //注意打印数组的时候要转换成字符串的形式 System.out.println(Arrays.toString(res)); } //返回两个整数的下标 private int[] twoSum(int[] nums, int target) { //枚举法 //每一个数与后面的所有数进行相加,看结果是否为target for (int i = 0; i < nums.length - 1; i++) { for (int j = i + 1; j < nums.length; j++) { if (nums[i] + nums[j] == target) { res[0] = i; res[1] = j; } } } return res; } } 分析:时间复杂度为O(N^2)