最近每天都是写一写业务代码,基本都能很快的写完,这给我一个假象:我很厉害。实质上却并不是这样,只不过是在公司第待久了,业务都做熟练了而已。想要在其他方面有所提高,也不是很容易,感觉工作中已经达到了一个瓶颈,自己却并不知道如何去跨过,更不知道如何去拔高。于是决定,以后每周都在leetcode上做三到四题,先从简单的开始,总会有些用处的。
1. 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。
给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
解答如下:
import java.util.Arrays;
class Solution {
public static int[] twoSum(int[] nums, int target) {
for (int i = 0; i < nums.length; i++) {
for (int j = i + 1; j < nums.length; j++) {
if (nums[i] == target - nums[j]) {
return new int[] { i, j };
}
}
}
return nums;
}
}