题目描述
力扣第一题「两数之和」要求如下:给定一个整数数组 nums
和一个目标值 target
,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案,且同一个元素不能使用两遍。
解法
解法一:暴力法
遍历每个元素 x
,并查找是否存在一个值与 target - x
相等的元素。
时间复杂度:O(n^2),对于每个元素,我们需要遍历其余的元素以找到匹配项。
空间复杂度:O(1),只使用了常数级的额外空间。
代码示例:
public class Solution {
public 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] + nums[j] == target) {
return new int[] {
i, j }