原创 1248 統計優美子數組(滑動窗口)

1. 問題描述: 給你一個整數數組 nums 和一個整數 k。 如果某個 連續 子數組中恰好有 k 個奇數數字,我們就認爲這個子數組是「優美子數組」。 請返回這個數組中「優美子數組」的數目。 示例 1: 輸入:nums = [1,1,2,

原创 1249 移除無效的括號(棧的應用)

1. 問題描述: 給你一個由 '('、')' 和小寫字母組成的字符串 s。 你需要從字符串中刪除最少數目的 '(' 或者 ')' (可以刪除任意位置的括號),使得剩下的「括號字符串」有效。 請返回任意一個合法字符串。 有效「括號字符串」應

原创 1237 找出給定方程的正整數解(暴力破解、雙指針)

1. 問題描述: 給出一個函數  f(x, y) 和一個目標結果 z,請你計算方程 f(x,y) == z 所有可能的正整數 數對 x 和 y。 給定函數是嚴格單調的,也就是說: f(x, y) < f(x + 1, y) f(x, y)

原创 python3的Collections.Counter計數(類似於map)

在平常刷題的過程中,經常會遇到需要對字符串的字母或者是列表中的數字進行計數,對於Java語言來說可以使用map對其進行計數,在python中可以使用Collections.Counter方法進行計數,最常見的是可以對列表中的元素進行計數,

原创 1254 統計封閉島嶼的數目(dfs)

1. 問題描述: 有一個二維矩陣 grid ,每個位置要麼是陸地(記號爲 0 )要麼是水域(記號爲 1 )。 我們從一塊陸地出發,每次可以往上下左右 4 個方向相鄰區域走,能走到的所有陸地區域,我們將其稱爲一座「島嶼」。 如果一座島嶼 完

原创 1262 可被三整除的最大和(動態規劃)

1. 問題描述: 給你一個整數數組 nums,請你找出並返回能被三整除的元素最大和。 示例 1: 輸入:nums = [3,6,5,1,8] 輸出:18 解釋:選出數字 3, 6, 1 和 8,它們的和是 18(可被 3 整除的最大和)。

原创 1247 交換字符使得字符串相同(分析、Collections.Counter方法計數)

1. 問題描述: 有兩個長度相同的字符串 s1 和 s2,且它們其中 只含有 字符 "x" 和 "y",你需要通過「交換字符」的方式使這兩個字符串相同。 每次「交換字符」的時候,你都可以在兩個字符串中各選一個字符進行交換。 交換隻能發生在

原创 1252 奇數值單元格的數目(模擬)

1. 問題描述: 給你一個 n 行 m 列的矩陣,最開始的時候,每個單元格中的值都是 0。 另有一個索引數組 indices,indices[i] = [ri, ci] 中的 ri 和 ci 分別表示指定的行和列(從 0 開始編號)。 你

原创 1253 重構 2 行二進制矩陣(模擬)

1. 問題描述: 給你一個 2 行 n 列的二進制數組: 矩陣是一個二進制矩陣,這意味着矩陣中的每個元素不是 0 就是 1。 第 0 行的元素之和爲 upper。 第 1 行的元素之和爲 lower。 第 i 列(從 0 開始編號)的元素

原创 152 乘積最大子數組(動態規劃)

1. 問題描述: 給你一個整數數組 nums ,請你找出數組中乘積最大的連續子數組(該子數組中至少包含一個數字),並返回該子數組所對應的乘積。 示例 1: 輸入: [2,3,-2,4] 輸出: 6 解釋: 子數組 [2,3] 有最大乘積

原创 1267 統計參與通信的服務器(dfs)

1. 問題描述: 這裏有一幅服務器分佈圖,服務器的位置標識在 m * n 的整數矩陣網格 grid 中,1 表示單元格上有服務器,0 表示沒有。 如果兩臺服務器位於同一行或者同一列,我們就認爲它們之間可以進行通信。 請你統計並返回能夠與至

原创 python倒序遍歷一維列表與二維列表

在平常刷題過程中會遇到倒序遍歷一維列表與二維列表的需求,下面是具體代碼: if __name__ == '__main__': li = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]

原创 1268 搜索推薦系統(字典樹)

1. 問題描述: 給你一個產品數組 products 和一個字符串 searchWord ,products  數組中每個產品都是一個字符串。 請你設計一個推薦系統,在依次輸入單詞 searchWord 的每一個字母后,推薦 produc

原创 1260 二維網格遷移(遞歸)

1. 問題描述: 給你一個 m 行 n 列的二維網格 grid 和一個整數 k。你需要將 grid 遷移 k 次。 每次「遷移」操作將會引發下述活動: 位於 grid[i][j] 的元素將會移動到 grid[i][j + 1]。 位於 g

原创 python3的三目運算符

有的時候爲了寫的代碼更加優雅一點,所以在C或者是Java中經常會使用到三目運算符,這樣就可以避免使用if-else語句,在python中不像C或者Java語言中使用x ? a : b,但是可以使用下面的方法進行替代: x if a els