LeetCode - 0001 -Two Sum

題目概要

在序列中找到和為特定值的兩個元素的索引。

原題鏈接

LeetCode - Two Sum

解題思路

  1. 先將之排序
  2. 在排序之后的列表中查找符合條件的兩個數(shù)
  3. 在原列表中找到這兩個數(shù)的下標(biāo)

復(fù)雜度分析

時間復(fù)雜度:$O(n)$
空間復(fù)雜度:$O(n)$

代碼

class Solution {
public:
    vector<int> twoSum(vector<int>& num, int target) {
        // 1. 排序
        std::vector<int> sorted = std::vector<int>(nums);
        std::sort(sorted.begin(), sorted.end());
        // 2. 查值
        unsigned low = 0, high = sorted.size() - 1;
        while (low < high) {
            while (low < high && sorted[low] + sorted[high] < target) ++low;
            while (low < high && sorted[low] + sorted[high] > target) --high;
            if (sorted[low] + sorted[high] == target) break;
        }
        // 3. 查索引
        std::vector<int> rvec;
        int minIndex = -1, maxIndex = -1, sz = nums.size();
        for (int i=0;i != sz;++i) {
            if (minIndex == -1 && nums[i] == sorted[low]) minIndex = i;
            else if (maxIndex == -1 && nums[i] == sorted[high]) maxIndex = i;
        }
        // 4. 給出答案
        rvec.push_back(minIndex);
        rvec.push_back(maxIndex);
        return rvec;
    }
};

廣告區(qū)域

本人和小伙伴們承接各種軟件項(xiàng)目,有需求的可以聯(lián)系我們。
QQ: 2992073083

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗(yàn)。 張土汪:刷leetcod...
    土汪閱讀 12,890評論 0 33
  • 總結(jié)一下常見的排序算法。 排序分內(nèi)排序和外排序。內(nèi)排序:指在排序期間數(shù)據(jù)對象全部存放在內(nèi)存的排序。外排序:指在排序...
    jiangliang閱讀 1,514評論 0 1
  • 中午,在一家賣場的六九豆?jié){吃飯。這家店的飯店集合了旁邊商場的工作人員,周邊小區(qū)的老人孩子,和一小部分逛商場的顧客。...
    奚泠閱讀 221評論 0 0
  • 夕陽西下 飛花滿椏 幾趨溫暖如春 奈何倥傯天涯 秋水長天 落霞孤鶩 曠享蒼茫遠(yuǎn)黛 誰料飄零無處 我一心遠(yuǎn)方 遠(yuǎn)方卻...
    煙雨心清閱讀 339評論 9 6
  • 這幾天,刷屏朋友圈的該是一支女生歡喜男生厭惡的口紅吧。一場成功營銷的背后,是一場有關(guān)口紅與愛情的口水戰(zhàn),之后,更是...
    夢槿馨閱讀 1,424評論 0 0

友情鏈接更多精彩內(nèi)容