搜索算法 搜索算法(searching algorithm) 用于在數(shù)據(jù)結(jié)構(gòu)中搜索一個或一組滿足特定條件的元素讳嘱。主要分為以下兩類: 通過遍歷數(shù)據(jù)結(jié)構(gòu)來定位目標元素,例如數(shù)組虎敦、...
題目給你鏈表頭節(jié)點游岳,每K個一組進行翻轉(zhuǎn),請你返回修改后的鏈表其徙。k 是一個正整數(shù)胚迫,它的值小于或等于鏈表的長度。如果節(jié)點總數(shù)不是 k 的整數(shù)倍唾那,那么請將最后剩余的節(jié)點保持原有順序...
題目給你一個整數(shù)數(shù)組nums,判斷是否存在三元組nums[i],nums[j],nums[k]滿足 i != j, j != k, i != k,同時還滿足nums[i] +...
題目給你一個鏈表棉安,兩兩交換其中相鄰的節(jié)點,并返回交換后鏈表的頭節(jié)點铸抑。你必須在不修改節(jié)點內(nèi)部的值的情況下完成本題贡耽。 示例輸入:head = [1,2,3,4]輸出:[2,1,4...
題目給你一個鏈表數(shù)組是尖,每個鏈表都已經(jīng)按照升序排列意系,請你將所有鏈表合并到一個升序鏈表中,返回合并后的鏈表饺汹。 示例1輸入:lists = [[1,4,5],[1,3,4],[2,...
題目將兩個升序鏈表合并為一個新的升序鏈表并返回蛔添。 示例:輸入:l1 = [1,2,4], l2 = [1,3,4]輸出:[1,1,2,3,4,4] 分析比較大小那必須兩個鏈表...
題目給你一個鏈表,刪除鏈表的倒數(shù)第n個節(jié)點兜辞,并且返回鏈表的頭節(jié)點迎瞧。(考慮使用一次掃描) 分析 如何知道是倒數(shù)第n個節(jié)點,如果第n個節(jié)點知道了逸吵,第n-1和第n+1節(jié)點也就知道了...
初探動態(tài)規(guī)劃 動態(tài)規(guī)劃(dynamic programming)是一個重要的算法范式足绅,它將一個問題分解為一系列更小的子問題,并通過存儲子問題的解來避免重復計算韩脑,從而大幅提升時...
題目給你一個字符串s和一個字符規(guī)律p氢妈,請你實現(xiàn)一個支持'.'和‘*’的正則表達式匹配。 '.' 匹配任意單個字符 '*' 匹配零個或多個前面的那一個元素考慮每次出現(xiàn)字符'*'...
題目給定一個長度為n的整型數(shù)組height,有n條垂線衩匣,第i條線的兩個端點是(i,0),(i,height(i)),找出其中的兩條線蕾总,使得他們與x軸共同構(gòu)成的容器可以容納最多...
題目給定兩個大小分別為m,n的正序(從小到大)的數(shù)組nums1和nums2,請你找出并返回這兩個數(shù)組的中位數(shù)。算法的時間復雜度應該為 O(log (m+n))示例:輸入:nu...
題目給定一個字符串 s 琅捏,請你找出其中不含有重復字符的 最長子串 的長度示例:輸入: s = "abcabcbb"輸出: 3解釋: 因為無重復字符的最長子串是 "abc"生百,所...
題目給你兩個 非空 的鏈表,表示兩個非負的整數(shù)柄延。它們每位數(shù)字都是按照 逆序 的方式存儲的蚀浆,并且每個節(jié)點只能存儲 一位 數(shù)字缀程。 請你將兩個數(shù)相加,并以相同形式返回一個表示和的鏈...
題目給定一個整數(shù)數(shù)組nums和一個整數(shù)目標值target市俊,在數(shù)組中找出兩數(shù)之和為目標值target的元素下標,返回下標數(shù)組杨凑。示例:輸入:nums = [2,7,11,15],...