原创 劍指 Offer 40. 最小的k個數

題目: 輸入整數數組 arr ,找出其中最小的 k 個數。例如,輸入4、5、1、6、2、7、3、8這8個數字,則最小的4個數字是1、2、3、4。 示例 1: 輸入:arr = [3,2,1], k = 2 輸出:[1,2] 或者

原创 劍指 Offer 56 - II. 數組中數字出現的次數 II

題目: 在一個數組 nums 中除一個數字只出現一次之外,其他數字都出現了三次。請找出那個只出現一次的數字。 示例 1: 輸入:nums = [3,4,3,3] 輸出:4 示例 2: 輸入:nums = [9,1,7,9,7,9

原创 劍指 Offer 21. 調整數組順序使奇數位於偶數前面(sort cmp)

題目: 輸入一個整數數組,實現一個函數來調整該數組中數字的順序,使得所有奇數位於數組的前半部分,所有偶數位於數組的後半部分。 示例: 輸入:nums = [1,2,3,4] 輸出:[1,3,2,4] 注:[3,1,2,4] 也是

原创 劍指 Offer 44. 數字序列中某一位的數字

文章目錄題目:示例 1:示例 2:限制:題解: 題目: 數字以0123456789101112131415…的格式序列化到一個字符序列中。在這個序列中,第5位(從下標0開始計數)是5,第13位是1,第19位是4,等等。 請寫一個函

原创 劍指 Offer 42. 連續子數組的最大和

文章目錄題目示例1:提示:題解: 題目 輸入一個整型數組,數組裏有正數也有負數。數組中的一個或連續多個整數組成一個子數組。求所有子數組的和的最大值。 要求時間複雜度爲O(n)。 示例1: 輸入: nums = [-2,1,-3,4

原创 劍指 Offer 26. 樹的子結構

題目: 輸入兩棵二叉樹A和B,判斷B是不是A的子結構。(約定空樹不是任意一個樹的子結構) B是A的子結構, 即 A中有出現和B相同的結構和節點值。 例如: 給定的樹 A: 3 / \ 4 5 / 1 2 給定的樹 B

原创 劍指 Offer 14- I. 剪繩子(雙解法,DP+數論)

題目: 給你一根長度爲 n 的繩子,請把繩子剪成整數長度的 m 段(m、n都是整數,n>1並且m>1),每段繩子的長度記爲 k[0],k[1]…k[m-1] 。請問 k[0]k[1]…*k[m-1] 可能的最大乘積是多少?例如,當

原创 還在網站上直接寫leetcode?快用vscode

     如上題所示,我們可以在vscode上面安裝leetcode插件,登錄上去後就可以開心地寫代碼啦~      官方教程:https://github.com/jdneo/vscode-leetcode/blob/master/do

原创 劍指 Offer 32 - I. 從上到下打印二叉樹

題解: 從上到下打印出二叉樹的每個節點,同一層的節點按照從左到右的順序打印。   例如:   給定二叉樹: [3,9,20,null,null,15,7],     3    / \   9  20     /  \    15  

原创 leetcode357

用dfs class Solution { public: int ans = 0; int countNumbersWithUniqueDigits(int n) { dfs(0,0,n);

原创 leetcode 322 (動態規劃)

題目: 給定不同面額的硬幣 coins 和一個總金額 amount。編寫一個函數來計算可以湊成總金額所需的最少的硬幣個數。如果沒有任何一種硬幣組合能組成總金額,返回 -1。   示例 1: 輸入: coins = [1, 2, 5],

原创 劍指 Offer 16. 數值的整數次方

題目 實現函數double Power(double base, int exponent),求base的exponent次方。不得使用庫函數,同時不需要考慮大數問題。 示例 1: 輸入: 2.00000, 10 輸出: 1024

原创 劍指 Offer 47. 禮物的最大價值

題目 在一個 m*n 的棋盤的每一格都放有一個禮物,每個禮物都有一定的價值(價值大於 0)。你可以從棋盤的左上角開始拿格子裏的禮物,並每次向右或者向下移動一格、直到到達棋盤的右下角。給定一個棋盤及其上面的禮物的價值,請計算你最多能

原创 leetcode 309

題目: 給定一個整數數組,其中第 i 個元素代表了第 i 天的股票價格 。​ 設計一個算法計算出最大利潤。在滿足以下約束條件下,你可以儘可能地完成更多的交易(多次買賣一支股票): 你不能同時參與多筆交易(你必須在再次購買前出售掉之前的股票

原创 劍指 Offer 18. 刪除鏈表的節點

題目: 給定單向鏈表的頭指針和一個要刪除的節點的值,定義一個函數刪除該節點。 返回刪除後的鏈表的頭節點。 注意:此題對比原題有改動 示例 1: 輸入: head = [4,5,1,9], val = 5 輸出: [4,1,9] 解釋: