1. 程式人生 > >刷leetcode-day5

刷leetcode-day5

一、題目:

1.兩數之和:

給定一個整數陣列和一個目標值,找出陣列中和為目標值的兩個數。

你可以假設每個輸入只對應一種答案,且同樣的元素不能被重複利用。

示例:

二、思路:

遍歷陣列,看是否存在兩數之和為給定的值。

三、程式碼(C++):

  vector<int> twoSum(vector<int>& nums, int target) {         int a=0,b=0;         for(int i=0;i<nums.size();i++)             for(int j=i+1;j<nums.size();j++)             {                 if(nums[i]+nums[j]==target)                     return {i,j};             }     }

四、擴充套件:參考leetcode上的答案

直接遍歷陣列的時間複雜度為O(n²),如果採用雜湊表能把時間複雜度降為O(n)。