
java
package com.lsy.leetcodehot100;
public class _Hot1_两数之和 {
//自写方法
public static int[] twoSum1(int[] nums, int target) {
//定义存放返回变量的数组
int[] arr = new int[2];
//遍历整个数组
for (int i = 0; i < nums.length; i++) {
//从第二个数开始相加判断
for (int j = 1; j < nums.length; j++) {
//如果相加的值相等的话就返回数组
if (nums[i] + nums[j] == target) {
arr[0] = i;
arr[1] = j;
return arr;
}
}
}
//如果没有的话就返回null
return null;
}
//其他方法
public static int[] twoSum2(int[] nums, int target) {
for (int i = 0; i < nums.length; i++) {
//计算出两数中的数A
int temp = target - nums[i];
for (int j = 0; j < nums.length; j++) {
if (i == j) {
continue;
}
//如果当前的这个数A等于数B说明两个值就是正确的结果
//temp是数A,nums[j]是数B
if(temp == nums[j]){
return new int[]{i,j};
}
}
}
//如果没有的话就返回null
return null;
}
public static void main(String[] args) {
int[] arr = {2, 6, 5, 8, 12, 7, 11, 9};
int[] result = twoSum1(arr, 14);
for (int item : result) {
System.out.println(item);
}
}
}