iT邦幫忙

2

老肝哥-菜鳥Java的LeetCode歷程,第一題:Two Sum,朝遠大目標前進!

由於老肝哥想利用工作之餘尋找升自我的空間,在網路上逛逛PTT時意外發現
PTT上軟工版各路大神都是在討論LeetCode刷題!
不服老的老肝哥就想嘗試看看,嘗試一下順便累積點什麼,將來面試也好有東西吹噓

如果你跟老肝哥一樣,半路出家,我會用最菜的思想與講解,紀錄一下刷題過程

事先聲明:老肝哥的做法不是最好的,若有更好的做法歡迎指教!

1, Two Sum

題目描述為下:

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!!


尚未有邦友留言

立即登入留言