两数之和
给定一个整数数组 nums
和一个整数目标值 target
,请你在该数组中找出 和为目标值 target
的那 两个 整数,并返回它们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。
你可以按任意顺序返回答案。
示例 :
输入:nums = [2,7,11,15], target = 9
输出:[0,1]
解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。
解法:暴力法
解题思路:按顺序抽出所有数组两两进行运算,若nums[i]+numsr[n]=target(n<nums.length),则输出下标,组成数组[i,n]。
代码:
1 import java.util.Scanner; 2 class Solution { 3 public int[] twoSum(int[] nums, int target) { 4 //定义输出的数组length 5 int[] arr=new int[2] ; 6 //第一个循环:第一次循环开始,抽出的第一个值为nums[0],第二个循环开始, 7 for (int i = 0; i < nums.length; i++) {
8 //第二个循环:在第一次循环nums[0]条件下,抽出所有nums[0<j<nums.length]值与nums[0]操作,操作结束后,返回第一个循环,直到第一个循环彻底结束,程序结束。 9 for (int j = i+1; j <nums.length; j++) {
10 //两个nums[]的之间操作,若nums[i]+nums[j]=给定的目标值,把这两个值所对应数组的下表,填入自己定义的数组里面,达到输出为[0,1]的效果。 11 if (nums[i]+nums[j]==target){ 12 arr[0]=i; 13 arr[1]=j; 14 break; 15 } 16 } 17 } 18 return arr; 19 } 20 }
测试用例:
输入:nums = [3,7,12,6], target = 9
输出:[0,3]
性能(不足):
执行用时: 41 ms 内存消耗: 41.6 MB 本题细节: 第9行for循环条件若为 j=0,则会重复抽出之前的值。标签:arr,target,nums,--,int,数组,LeetCode,两数 From: https://www.cnblogs.com/gicxl/p/16883391.html