題目: 區域和檢索 - 數組不可變:給定一個整數數組 nums,求出數組從索引 i 到 j (i ≤ j) 范圍內元素的總和,包含 i, j 兩點。 示例: 給定 nums = [-2, 0, 3, -5, 2, -1],求和函數為 sumRange() sumRange ...
題目: 峰值元素是指其值大於左右相鄰值的元素。 給定一個輸入數組nums,其中 nums i nums i ,找到峰值元素並返回其索引。 數組可能包含多個峰值,在這種情況下,返回任何一個峰值所在位置即可。 你可以假設nums nums n 。 說明: 你的解法應該是O logN 時間復雜度的。 思路: 二分法 程序: classSolution: deffindPeakElement self,n ...
2020-04-25 17:40 0 613 推薦指數:
題目: 區域和檢索 - 數組不可變:給定一個整數數組 nums,求出數組從索引 i 到 j (i ≤ j) 范圍內元素的總和,包含 i, j 兩點。 示例: 給定 nums = [-2, 0, 3, -5, 2, -1],求和函數為 sumRange() sumRange ...
題目: 給定一個整數數組 nums ,找到一個具有最大和的連續子數組(子數組最少包含一個元素),返回其最大和。進階: 如果你已經實現復雜度為 O(n) 的解法,嘗試使用更為精妙的分治法求解。 思路:貪心法和分而治之 程序1:貪心發 class Solution ...
++) { for(int j=i+1;j<nums.size();j++) ...
題目: 給定一組不含重復元素的整數數組 nums,返回該數組所有可能的子集(冪集)。 說明:解集不能包含重復的子集。 思路: 思路較簡單,迭代法。 程序: class Solution ...
題目: 移動零:給定一個數組 nums,編寫一個函數將所有 0 移動到數組的末尾,同時保持非零元素的相對順序。 示例: 說明: 必須在原數組上操作,不能拷貝額外的數組。 盡量減少操作次數。 思路: 思路較簡單。 程序: class Solution ...
題目:給你一個包含 n 個整數的數組 nums,判斷 nums 中是否存在三個元素 a,b,c ,使得 a + b + c = 0 ?請你找出所有滿足條件且不重復的三元組。 注意:答案中不可以包含重復的三元組。 思路:可以參考兩個數求和的思路,但是需要考慮結果重復的情況。 代碼1:使用兩個 ...
題目: 給定一個按照升序排列的整數數組 nums,和一個目標值 target。找出給定目標值在數組中的開始位置和結束位置。 你的算法時間復雜度必須是 O(log n) 級別。 如果數組中不存在目標值,返回 [-1, -1]。 思路:二分法,使用一個指針來找到數字的開頭和結尾位置 ...
給定一個包含 n 個整數的數組 nums,判斷 nums 中是否存在三個元素 a,b,c ,使得 a + b + c = 0 ?找出所有滿足條件且不重復的三元組。注意:答案中不可以包含重復的三元組。例如, 給定數組 nums = [-1, 0, 1, 2, -1, -4],滿足要求的三元組集合為:[ [-1, 0, 1], [-1, -1, 2]] ...