数据结构和算法----两数之和
问题: 给定一个整数数组 nums 和一个目标值 target, 请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。 但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 解法一:多层循环暴力解法 public static int [ ] getIndex1 ( int [ ] arrs , int target ) { int [ ] indexArr = new int [ 2 ] ; for ( int i = 0 ; i < arrs . length ; i ++ ) { for ( int j = i + 1 ; j < arrs . length ; j ++ ) { if ( arrs [ i ] + arrs [ j ] == target ) { indexArr = new int [ ] { i , j } ; } } } return indexArr ; } 解法分析: 暴力循环就是把数组中的元素进行两次遍历,每次和后面的元素进行相加, 再和目标值进行比较,如果能找到两数之和为目标值的元素,就返回这两个元素的下标。 时间复杂度: O(n