[LeetCode] TwoSum LeetCode的初次嘗試

LeetCode 初體驗

由於是第一次在LeetCode上面A題,而且確實很久沒有寫C++了,就選擇了一道easy的題目進行嘗試,先了解LeetCode的編輯器,環境,judging及反饋等。

LeetCode給我的感覺還是很不錯的,雖然編輯器不算特別好用,但是online編輯器一般都是這樣,然後提交評測部分是重點,速度快,而且有報錯,有Except Answer 和 Your Answer的對比, 不會像sicily一樣爲了一個沒有想到的特殊情況頭都想懵。

值得一提的是,LeetCode的discuss部分很好,有很多很好的code的分享,經過思考解決題目後,再去看別人更好的答案會有豁然開朗的感覺,很不錯。

TwoSum



由於只是隨便選了一題簡單的來試試水,所以這題並沒有什麼好講的。直接暴力的雙重冒泡的循環求解。時間複雜度O(n^2),看discuss的基本都是O(n)的,就是把內層循環改成hash的查詢,以空間換時間。而且題目提到了只會有一個答案,這不失爲一個好的方法,而且確實也不難想到。直接貼上我的code()
class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        for (int i = 0; i < nums.size()-1; i++) {
            for (int j = i + 1; j < nums.size(); j++) {
                if (nums[i] + nums[j] == target) {
                    return {i, j};
                }
            }
        }
    }
};

另外出了點小意外的就是Mac OS的 gcc似乎在鏈接的時候總是會報鏈接庫的錯誤,最後改用g++後解決。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章