由於老肝哥想利用工作之餘尋找升自我的空間,在網路上逛逛PTT時意外發現
PTT上軟工版各路大神都是在討論LeetCode刷題!
不服老的老肝哥就想嘗試看看,嘗試一下順便累積點什麼,將來面試也好有東西吹噓
如果你跟老肝哥一樣,半路出家,我會用最菜的思想與講解,紀錄一下刷題過程
事先聲明:老肝哥的做法不是最好的,若有更好的做法歡迎指教!
題目描述為下:
Example 1:
Input: nums = [2,7,11,15], target = 9
Output: [0,1]
Output: Because nums[0] + nums[1] == 9, we return [0, 1].
解答如下:
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++){
int sum = nums[i]+nums[j];
if(sum == target){
int[] result = {i,j};
return result;
}
}
}
return null;
}
}
##解釋如下:
第一層迴圈控制取第一個數字(index:0),第二層迴圈取第二數字由於避免取到重複數值(index:i+1,取第一個數字後一位)
如果取到對的數值,剩下比對就簡單了,一但第一個數字加上第二個數字為Target,則返回其index!!