<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      [LeetCode] 兩數(shù)之和 II - 輸入有序數(shù)組

      ??題目

      給你一個下標從 1開始的整數(shù)數(shù)組 numbers ,該數(shù)組已按 非遞減順序排列  ,請你從數(shù)組中找出滿足相加之和等于目標數(shù) target 的兩個數(shù)。如果設(shè)這兩個數(shù)分別是 numbers[index1] numbers[index2] ,則1 <= index1 < index2 <= numbers.length

      以長度為 2 的整數(shù)數(shù)組[index1, index2]的形式返回這兩個整數(shù)的下標 index1 index2

      你可以假設(shè)每個輸入只對應唯一的答案,而且你不可以重復使用相同的元素。

      你所設(shè)計的解決方案必須只使用常量級的額外空間。

      作者:力扣 (LeetCode)
      鏈接:https://leetcode.cn/leetbook/read/all-about-array/x9i1x6/
      來源:力扣(LeetCode)
      著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。

      示例1

      輸入:numbers = [2,7,11,15], target = 9
      輸出:[1,2]
      解釋:2 與 7 之和等于目標數(shù) 9 。因此 index1 = 1, index2 = 2 。返回 [1, 2] 。
      

      示例2

      輸入:numbers = [2,3,4], target = 6
      輸出:[1,3]
      解釋:2 與 4 之和等于目標數(shù) 6 。因此 index1 = 1, index2 = 3 。返回 [1, 3] 。
      

      示例3

      輸入:numbers = [-1,0], target = -1
      輸出:[1,2]
      解釋:-1 與 0 之和等于目標數(shù) -1 。因此 index1 = 1, index2 = 2 。返回 [1, 2] 。
      

      提示

      • 2 <= numbers.length <= 3 * \(10^4\)
      • -1000 <= numbers[i] <= 1000
      • numbers 按 非遞減順序 排列
      • -1000 <= target <= 1000
      • 僅存在一個有效答案

      ??暴力思路

      一開始我直接來一個for循環(huán)嵌套:

      • 兩層循環(huán),時間復雜度\(O(n^2)\)
      • 思路很簡單,就是外層循環(huán)指向一個數(shù),內(nèi)層循環(huán)指向另一個數(shù),一個一個加起來對比target,直到找出答案。

      :C++代碼

      class Solution {
      public:
          vector<int> twoSum(vector<int>& numbers, int target) {
              int len = numbers.size();
              vector<int> ans;	//用于放置答案的vector
              bool flag = false;	//判斷是否已找到答案
              for(int i=0;i<len-1;i++){	//i指向較小的數(shù)
                  for(int j=i+1;j<len;j++){	//j指向較大的數(shù)
                      if(numbers[i] + numbers[j] == target){	
      		//如果找到答案了就退出循環(huán),返回答案
                          flag = true;
                          ans.push_back(i+1);
                          ans.push_back(j+1);
                          break;
                      }
                  }
                  if(flag)break;
              }
              return ans;
          }
      };
      

      很遺憾,并不是所有暴力都能解決問題——超時了 ??。


      --- ### ??使用雙指針解決問題 #### 算法思路 * i指向數(shù)組頭元素,j指向數(shù)組尾元素,只要itarget`,說明當前兩數(shù)之和較大,則執(zhí)行`j--`。 #### 算法分析 **時間復雜度**:i和j從數(shù)組的頭和尾向中間走,整個過程數(shù)組遍歷一次,故時間復雜度為$O(n)$。 **空間復雜度**:此算法不需要額外的空間,空間復雜度為$O(1)$.

      代碼

      class Solution {
      public:
          vector<int> twoSum(vector<int>& numbers, int target) {
              int i=0;			//i指向數(shù)組頭部
              int j = numbers.size() -1;	//j指向數(shù)組尾部
              while(i<j){
                  if(numbers[i]+numbers[j] == target)return {i+1,j+1};//找到答案
                  if(numbers[i]+numbers[j] < target) i++;		//當前兩數(shù)之和太小
                  if(numbers[i]+numbers[j] > target) j--;		//當前兩數(shù)之和太大
              }
      
      	//{-1,-1}對應找不到答案的情況,不過這道題目的測試點似乎會保證有且僅有一個答案。
              return {-1,-1};
          }
      };
      
      posted @ 2022-07-21 17:45  feixianxing  閱讀(43)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产性生大片免费观看性| 好紧好滑好湿好爽免费视频| 婷婷五月综合激情| 国产粉嫩系列一区二区三| 久久高潮少妇视频免费| 人妻精品动漫H无码中字| 国产一国产看免费高清片| 天堂影院一区二区三区四区| 开心一区二区三区激情| 悠悠色成人综合在线观看| 国产亚洲精品成人无码精品网站| 四虎国产精品永久在线下载| 久久久精品94久久精品| 亚洲AV无码乱码在线观看性色扶| 国产综合色在线精品| 亚洲成av人片无码迅雷下载| 影视先锋av资源噜噜| 中文无码妇乱子伦视频| 中国熟女仑乱hd| 亚洲精品国产老熟女久久| 国产精品一区二区三区蜜臀| 精品亚洲精品日韩精品| 无码免费中文字幕视频| 国产视频 视频一区二区| 国产精品中文av专线| 日韩一区精品视频一区二区| 亚洲无人区码二码三码区| 激情综合网五月婷婷| 色综合欧美亚洲国产| 人妻中文字幕精品一页| 97人人模人人爽人人少妇| 辽阳县| 日韩精品无码一区二区视频 | 免费观看性行为视频的网站| 国产成人无码网站| 伊人激情av一区二区三区| 玩弄丰满少妇人妻视频| 少妇被爽到高潮喷水久久欧美精品| 精品亚洲精品日韩精品| 成人白浆一区二区三区在线观看| 国产精品尤物乱码一区二区|