原创 735. 行星碰撞

給定一個整數數組 asteroids,表示在同一行的行星。 對於數組中的每一個元素,其絕對值表示行星的大小,正負表示行星的移動方向(正表示向右移動,負表示向左移動)。每一顆行星以相同的速度移動。 找出碰撞後剩下的所有行星。碰撞規則:兩個行

原创 739. 每日溫度

根據每日 氣溫 列表,請重新生成一個列表,對應位置的輸入是你需要再等待多久溫度纔會升高的天數。如果之後都不會升高,請輸入 0 來代替。 例如,給定一個列表 temperatures = [73, 74, 75, 71, 69, 72, 7

原创 881. 救生艇

第 i 個人的體重爲 people[i],每艘船可以承載的最大重量爲 limit。 每艘船最多可同時載兩人,但條件是這些人的重量之和最多爲 limit。 返回載到每一個人所需的最小船數。(保證每個人都能被船載)。   示例 1: 輸入:

原创 845. 數組中的最長山脈

我們把數組 A 中符合下列屬性的任意連續子數組 B 稱爲 “山脈”: B.length >= 3 存在 0 < i < B.length - 1 使得 B[0] < B[1] < ... B[i-1] < B[i] > B[i+1] >

原创 605. 種花問題

假設你有一個很長的花壇,一部分地塊種植了花,另一部分卻沒有。可是,花卉不能種植在相鄰的地塊上,它們會爭奪水源,兩者都會死去。 給定一個花壇(表示爲一個數組包含0和1,其中0表示沒種植花,1表示種植了花),和一個數 n 。能否在不打破種植規

原创 495. 提莫攻擊

在《英雄聯盟》的世界中,有一個叫 “提莫” 的英雄,他的攻擊可以讓敵方英雄艾希(編者注:寒冰射手)進入中毒狀態。現在,給出提莫對艾希的攻擊時間序列和提莫攻擊的中毒持續時間,你需要輸出艾希的中毒狀態總時長。 你可以認爲提莫在給定的時間點進行

原创 260. 只出現一次的數字 III

給定一個整數數組 nums,其中恰好有兩個元素只出現一次,其餘所有元素均出現兩次。 找出只出現一次的那兩個元素。 示例 : 輸入: [1,2,1,3,2,5] 輸出: [3,5] 注意: 結果輸出的順序並不重要,對於上面的例子, [5,

原创 893. 特殊等價字符串組

你將得到一個字符串數組 A。 如果經過任意次數的移動,S == T,那麼兩個字符串 S 和 T 是特殊等價的。   一次移動包括選擇兩個索引 i 和 j,且 i%2 == j%2,並且交換 S[j] 和 S [i]。 現在規定,A 中的特

原创 136. 只出現一次的數字

給定一個非空整數數組,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。 說明: 你的算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎? 示例 1: 輸入: [2,2,1] 輸出: 1 示例 2

原创 268. 缺失數字

給定一個包含 0, 1, 2, ..., n 中 n 個數的序列,找出 0 .. n 中沒有出現在序列中的那個數。 示例 1: 輸入: [3,0,1] 輸出: 2 示例 2: 輸入: [9,6,4,2,3,5,7,0,1] 輸出:

原创 922. 按奇偶排序數組 II

給定一個非負整數數組 A, A 中一半整數是奇數,一半整數是偶數。 對數組進行排序,以便當 A[i] 爲奇數時,i 也是奇數;當 A[i] 爲偶數時, i 也是偶數。 你可以返回任何滿足上述條件的數組作爲答案。   示例: 輸入:[4,

原创 58. 最後一個單詞的長度

給定一個僅包含大小寫字母和空格 ' ' 的字符串,返回其最後一個單詞的長度。 如果不存在最後一個單詞,請返回 0 。 說明:一個單詞是指由字母組成,但不包含任何空格的字符串。 示例: 輸入: "Hello World" 輸出: 5 tr

原创 137. 只出現一次的數字 II

給定一個非空整數數組,除了某個元素只出現一次以外,其餘每個元素均出現了三次。找出那個只出現了一次的元素。 說明: 你的算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎? 示例 1: 輸入: [2,2,3,2] 輸出: 3 示

原创 83. 刪除排序鏈表中的重複元素

給定一個排序鏈表,刪除所有重複的元素,使得每個元素只出現一次。 示例 1: 輸入: 1->1->2 輸出: 1->2 示例 2: 輸入: 1->1->2->3->3 輸出: 1->2->3 Code: class Solution

原创 139. 單詞拆分

給定一個非空字符串 s 和一個包含非空單詞列表的字典 wordDict,判定 s 是否可以被空格拆分爲一個或多個在字典中出現的單詞。 說明: 拆分時可以重複使用字典中的單詞。 你可以假設字典中沒有重複的單詞。 示例 1: 輸入: s =