兩數之和詳細解答

淼and發表於2024-03-22

class Solution {
public int[] twoSum(int[] nums, int target) {
//我們要找到2個數之和等於target
//即我們需要找到nums[i] + nums[j] == target,並且返回他們的下標(i和j),其中i != j
int[] ans = new int[2]; //宣告一個大小為2的陣列用來儲存結果
//我們透過迴圈來遍歷所有的數字
int n = nums.length; //用一個變數n儲存nums的長度
//i為第一個數的下標,nums一共有n個數,所以i的取值範圍是[0, n-1]
for(int i = 0; i < n; i++){
//j為第二個數的下標。
for(int j = i + 1; j < n; j++){
//對於每個數nums[i],我們驗證一遍其他數(nums[j])跟它的和是否等於target
//如果滿足條件
if(nums[i] + nums[j] == target){
//將下標寫入返回值陣列裡
ans[0] = i;
ans[1] = j;
//返回
return ans;
}
}
}
//預設返回值
return new int[0];
}
}

作者:Hyponarch
連結:https://leetcode.cn/problems/two-sum/solutions/932617/jie-ti-si-lu-he-javayu-fa-by-hyponarch-6wzc/
來源:力扣(LeetCode)
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。

相關文章