原创 LeetcodeMedium-【面試題59 - II. 隊列的最大值】

請定義一個隊列並實現函數 max_value 得到隊列裏的最大值,要求函數max_value、push_back 和 pop_front 的均攤時間複雜度都是O(1)。 若隊列爲空,pop_front 和 max_value 需要

原创 LeetCodeEasy-【面試題60. n個骰子的點數】*

把n個骰子扔在地上,所有骰子朝上一面的點數之和爲s。輸入n,打印出s的所有可能的值出現的概率。 你需要用一個浮點數數組返回答案,其中第 i 個元素代表這 n 個骰子所能擲出的點數集合中第 i 小的那個的概率。 示例 1: 輸入:

原创 LeetCodeEasy-【面試題65. 不用加減乘除做加法 】*

寫一個函數,求兩個整數之和,要求在函數體內不得使用 “+”、“-”、“*”、“/” 四則運算符號。 示例: 輸入: a = 1, b = 1 輸出: 2 提示: a, b 均可能是負數或 0 結果不會溢出 32 位整數 來

原创 LeetcodeMedium-【面試題64. 求1+2+…+n】

求 1+2+…+n ,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)。 示例 1: 輸入: n = 3 輸出: 6 示例 2: 輸入: n = 9 輸出:

原创 LeetcodeMedium-【面試題63. 股票的最大利潤】

假設把某股票的價格按照時間先後順序存儲在數組中,請問買賣該股票一次可能獲得的最大利潤是多少? 示例 1: 輸入: [7,1,5,3,6,4] 輸出: 5 解釋: 在第 2 天(股票價格 = 1)的時候買入,在第 5 天(股票價格

原创 LeetCodeEasy-【面試題68 - II. 二叉樹的最近公共祖先】

給定一個二叉樹, 找到該樹中兩個指定節點的最近公共祖先。 百度百科中最近公共祖先的定義爲:“對於有根樹 T 的兩個結點 p、q,最近公共祖先表示爲一個結點 x,滿足 x 是 p、q 的祖先且 x 的深度儘可能大(一個節點也可以是它

原创 LeetCodeEasy-【面試題61. 撲克牌中的順子】

從撲克牌中隨機抽5張牌,判斷是不是一個順子,即這5張牌是不是連續的。2~10爲數字本身,A爲1,J爲11,Q爲12,K爲13,而大、小王爲 0 ,可以看成任意數字。A 不能視爲 14。 示例 1: 輸入: [1,2,3,4,5]

原创 LeetCodeEasy-【面試題58 - II. 左旋轉字符串】

字符串的左旋轉操作是把字符串前面的若干個字符轉移到字符串的尾部。請定義一個函數實現字符串左旋轉操作的功能。比如,輸入字符串"abcdefg"和數字2,該函數將返回左旋轉兩位得到的結果"cdefgab"。 示例 1: 輸入: s

原创 LeetCodeEasy-【面試題57 - II. 和爲s的連續正數序列】

輸入一個正整數 target ,輸出所有和爲 target 的連續正整數序列(至少含有兩個數)。 序列內的數字由小到大排列,不同序列按照首個數字從小到大排列。 示例 1: 輸入:target = 9 輸出:[[2,3,4],[4

原创 LeetCodeEasy-【面試題57. 和爲s的兩個數字】

輸入一個遞增排序的數組和一個數字s,在數組中查找兩個數,使得它們的和正好是s。如果有多對數字的和等於s,則輸出任意一對即可。 示例 1: 輸入:nums = [2,7,11,15], target = 9 輸出:[2,7] 或者

原创 LeetcodeMedium-【面試題56 - II. 數組中數字出現的次數 II】*

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

原创 LeetcodeMedium-【面試題56 - I. 數組中數字出現的次數】*

一個整型數組 nums 裏除兩個數字之外,其他數字都出現了兩次。請寫程序找出這兩個只出現一次的數字。要求時間複雜度是O(n),空間複雜度是O(1)。 示例 1: 輸入:nums = [4,1,4,6] 輸出:[1,6] 或 [6

原创 LeetCodeEasy-【面試題54. 二叉搜索樹的第k大節點】

給定一棵二叉搜索樹,請找出其中第k大的節點。 示例 1: 輸入: root = [3,1,4,null,2], k = 1 輸出: 4 示例 2: 輸入: root = [5,3,6,2,4,null,null,1], k =

原创 LeetCodeEasy-【面試題55 - I. 二叉樹的深度】

輸入一棵二叉樹的根節點,求該樹的深度。從根節點到葉節點依次經過的節點(含根、葉節點)形成樹的一條路徑,最長路徑的長度爲樹的深度。 例如: 給定二叉樹 [3,9,20,null,null,15,7], 返回它的最大深度 3 。

原创 LeetCodeEasy-【面試題53 - II. 0~n-1中缺失的數字】

一個長度爲n-1的遞增排序數組中的所有數字都是唯一的,並且每個數字都在範圍0~n-1之內。在範圍0~n-1內的n個數字中有且只有一個數字不在該數組中,請找出這個數字。 示例 1: 輸入: [0,1,3] 輸出: 2 示例 2