原创 Java實現 LeetCode 836 矩形重疊(暴力)

836. 矩形重疊 矩形以列表 [x1, y1, x2, y2] 的形式表示,其中 (x1, y1) 爲左下角的座標,(x2, y2) 是右上角的座標。 如果相交的面積爲正,則稱兩矩形重疊。需要明確的是,只在角或邊接觸的兩個矩形不

原创 Java實現 LeetCode 837 新21點(DP)

837. 新21點 愛麗絲參與一個大致基於紙牌遊戲 “21點” 規則的遊戲,描述如下: 愛麗絲以 0 分開始,並在她的得分少於 K 分時抽取數字。 抽取時,她從 [1, W] 的範圍中隨機獲得一個整數作爲分數進行累計,其中 W 是

原创 Java實現 LeetCode 838 推多米諾(暴力模擬)

838. 推多米諾 一行中有 N 張多米諾骨牌,我們將每張多米諾骨牌垂直豎立。 在開始時,我們同時把一些多米諾骨牌向左或向右推。 每過一秒,倒向左邊的多米諾骨牌會推動其左側相鄰的多米諾骨牌。 同樣地,倒向右邊的多米諾骨牌也會推動

原创 Java實現 LeetCode 830 較大分組的位置(暴力模擬)

830. 較大分組的位置 在一個由小寫字母構成的字符串 S 中,包含由一些連續的相同字符所構成的分組。 例如,在字符串 S = “abbxxxxzyy” 中,就含有 “a”, “bb”, “xxxx”, “z” 和 “yy” 這樣

原创 Java實現 LeetCode 817 鏈表組件(暴力)

817. 鏈表組件 給定一個鏈表(鏈表結點包含一個整型值)的頭結點 head。 同時給定列表 G,該列表是上述鏈表中整型值的一個子集。 返回列表 G 中組件的個數,這裏對組件的定義爲:鏈表中一段最長連續結點的值(該值必須在列表 G

原创 Java實現 LeetCode 822 翻轉卡片遊戲(暴力)

822. 翻轉卡片遊戲 在桌子上有 N 張卡片,每張卡片的正面和背面都寫着一個正數(正面與背面上的數有可能不一樣)。 我們可以先翻轉任意張卡片,然後選擇其中一張卡片。 如果選中的那張卡片背面的數字 X 與任意一張卡片的正面的數字都

原创 Java實現 LeetCode 823 帶因子的二叉樹(DP)

823. 帶因子的二叉樹 給出一個含有不重複整數元素的數組,每個整數均大於 1。 我們用這些整數來構建二叉樹,每個整數可以使用任意次數。 其中:每個非葉結點的值應等於它的兩個子結點的值的乘積。 滿足條件的二叉樹一共有多少個?返回的

原创 Java實現 LeetCode 824 山羊拉丁文(暴力)

824. 山羊拉丁文 給定一個由空格分割單詞的句子 S。每個單詞只包含大寫或小寫字母。 我們要將句子轉換爲 “Goat Latin”(一種類似於 豬拉丁文 - Pig Latin 的虛構語言)。 山羊拉丁文的規則如下: 如果單詞以

原创 Java實現 LeetCode 821 字符的最短距離(暴力)

821. 字符的最短距離 給定一個字符串 S 和一個字符 C。返回一個代表字符串 S 中每個字符到字符串 S 中的字符 C 的最短距離的數組。 示例 1: 輸入: S = “loveleetcode”, C = ‘e’ 輸出: [

原创 Java實現 LeetCode 815 公交路線(創建關係+BFS)

815. 公交路線 我們有一系列公交路線。每一條路線 routes[i] 上都有一輛公交車在上面循環行駛。例如,有一條路線 routes[0] = [1, 5, 7],表示第一輛 (下標爲0) 公交車會一直按照 1->5->7->

原创 Java實現 LeetCode 826 安排工作以達到最大收益(暴力DP)

826. 安排工作以達到最大收益 有一些工作:difficulty[i] 表示第i個工作的難度,profit[i]表示第i個工作的收益。 現在我們有一些工人。worker[i]是第i個工人的能力,即該工人只能完成難度小於等於wor

原创 Java實現 LeetCode 820 單詞的壓縮編碼(暴力)

820. 單詞的壓縮編碼 給定一個單詞列表,我們將這個列表編碼成一個索引字符串 S 與一個索引列表 A。 例如,如果這個列表是 [“time”, “me”, “bell”],我們就可以將其表示爲 S = “time#bell#”

原创 Java實現 LeetCode 816 模糊座標(暴力)

816. 模糊座標 我們有一些二維座標,如 “(1, 3)” 或 “(2, 0.5)”,然後我們移除所有逗號,小數點和空格,得到一個字符串S。返回所有可能的原始字符串到一個列表中。 原始的座標表示法不會存在多餘的零,所以不會出現類

原创 Java實現 LeetCode 825 適齡的朋友(暴力)

825. 適齡的朋友 人們會互相發送好友請求,現在給定一個包含有他們年齡的數組,ages[i] 表示第 i 個人的年齡。 當滿足以下條件時,A 不能給 B(A、B不爲同一人)發送好友請求: age[B] <= 0.5 * age[

原创 Java實現 LeetCode 828 統計子串中的唯一字符(暴力+轉數組)

828. 統計子串中的唯一字符 我們定義了一個函數 countUniqueChars(s) 來統計字符串 s 中的唯一字符,並返回唯一字符的個數。 例如:s = “LEETCODE” ,則其中 “L”, “T”,“C”,“O”,“