LeetCode
LeetCode
第一题:两数之和

思路:首先会想到暴力解题,遍历数组中的每个数,找出符合条件的返回即可。
用到for循环和if语句,以下为代码:
class Solution {
public int[] twoSum(int[] nums, int target) {
int n = nums.length;
for(int i = 0;i<n;++i){
for(int j=i+1;j<n;++j){
if(nums[i]+nums[j]==target){
return new int[]{i,j};
}
}
}
return new int[0];
}
}
注意:每种输入只会对应一种答案,同一个元素不能重复出现,即:数组中的每个元素只能使用一次
要找到符合条件的数x,因为数组中x之前的数都已经与x匹配过,所以只需要寻找x以后的元素,++i或i++都没有区别(但i++用时慢了1ms)
第二种方法为哈希表,这个暂时看不懂对不起。
浙公网安备 33010602011771号