原创 刷題543. Diameter of Binary Tree

一、題目說明 題目543. Diameter of Binary Tree,計算二叉樹的直徑。直徑是任意兩個節點間的路徑的最大值。難度是Easy! 二、我的解答 這個題目看懂不難,計算左子樹的高度,右子樹的高度,直徑爲二者之和。這裏要注意的

原创 刷題560. Subarray Sum Equals K

一、題目說明 題目560. Subarray Sum Equals K,給一列整數和一個整數k,找到所有子數組和是k的個數。難度是Medium! 二、我的解答 這個題目第一印象是用dp,很快代碼就寫好了。然而 Memory Limit Ex

原创 刷題494. Target Sum

一、題目說明 題目494. Target Sum,給定一列非負整數,一個目標數S,給定每個數一個+,-號,計算有多少組合可以生成S的值。難度是Medium! 二、我的解答 最直接的方案就是對每一個數num[i],可以正,可以負,通過遞歸就可

原创 刷題448. Find All Numbers Disappeared in an Array

一、題目說明 題目448. Find All Numbers Disappeared in an Array,給定有n個數的數組,每個數1<=a[i]<=n,其中一些數字出現2次,一些出現一次。計算包含於1-n中未在數組中出現的數字。難度是

原创 刷題437. Path Sum III

一、題目說明 題目437. Path Sum III,給定一個二叉樹和整數sum,計算路徑和是sum的數量,其中路徑只能是從父節點向下的。難度是Easy! 二、我的解答 這個題目絕對不是Easy!最直觀的想法,先判斷根節點是否有路徑,然後判

原创 刷題438. Find All Anagrams in a String

一、題目說明 題目438. Find All Anagrams in a String,給一個字符串s和非空字符串p,在s中找到所有p的相同字母異序詞的start位置。難度是Medium! 二、我的解答 找同源詞,有一個類似的題目49. G

原创 刷題406. Queue Reconstruction by Height

一、題目說明 題目406. Queue Reconstruction by Height,隊列每個元素包括(h,k),其中h是身高,k是身高不低於h的數量,請按照k和h重構隊列。難度是Medium! 二、我的解答 這個題目理論上不難,但是細

原创 刷題416. Partition Equal Subset Sum

一、題目說明 題目416. Partition Equal Subset Sum,給定一個只包含正整數的數組,判斷數組能否分成2個子數組,且其和相等。難度是Medium! 二、我的解答 這個題目,類似揹包問題,用遞歸算法可解。但是需要先降序

原创 刷題394. Decode String

一、題目說明 題目394. Decode String,給定一個編碼後字符串,解碼字符串。難度是Medium! 二、我的解答 解析字符串,這個題目是棧的典型應用。唯一的複雜度在於嵌套的處理。 class Solution{ public:

原创 刷題347. Top K Frequent Elements

一、題目說明 題目347. Top K Frequent Elements,從數組中找出現頻度最高的k個數。難度是Medium! 二、我的解答 求出現頻度最高的數,首先用hash計算各個數出現的頻度,然後找出前k個。 class Solut

原创 刷題309. Best Time to Buy and Sell Stock with Cooldown

一、題目說明 題目309. Best Time to Buy and Sell Stock with Cooldown,計算買賣股票的最大利潤,賣出股票後第二天不能買入,需要冷卻一天。 二、我的解答 這個題目,我沒做出來。看了高手的解答,才

原创 刷題338. Counting Bits

一、題目說明 題目338. Counting Bits,給定一個正整數n,返回從0-n之間所有數組對應二進制數包含1的個數。難度是Medium!複雜度要求是O(n)。 二、我的解答 這個題目用dp,其實是非常簡單的: class Solut

原创 刷題337. House Robber III

一、題目說明 題目337. House Robber III,所有的房子連成二叉樹狀,不能“搶”直連的兩個房間,請問最多可以搶到多少。難度是Medium! 二、我的解答 慚愧,這個題目思路始終不對。提交了n次也不正確,看了正確的思路:爺爺節

原创 刷題322. Coin Change

一、題目說明 題目322. Coin Change,給定一組不同面值的硬幣,計算給定的總金額可以用硬幣湊成的最小數量。難度是Medium! 二、我的解答 這個題目,思考了一下,和前面的279. Perfect Squares有點類似,屬於求

原创 刷題312. Burst Balloons

一、題目說明 題目312. Burst Balloons,有n個氣球編號0 ~ n-1,每個氣球上有一個數字,存在數組nums中。每當戳破一個氣球i的時候,可以獲得nums[left] * nums[i] * nums[right]個硬幣。