Dean Yang Coding Blog
  • 首頁
  • 歸檔
  • 分類
  • 標籤
  • 刷題
    全部題解 滑動窗口 貪心
  • 關於
LeetCode 3694. 刪除子字串後不同的終點(定長滑動視窗圖解)

LeetCode 3694. 刪除子字串後不同的終點(定長滑動視窗圖解)

3694. 刪除子字串後不同的終點題目描述給你一個由字元 'U'、'D'、'L' 和 'R' 組成的字串 s,表示在無限的二維笛卡爾網格上的移動。 'U':從 (x, y) 移動到 (x, y + 1)。 'D':從 (x, y) 移動到 (x, y - 1)。 'L':從 (x, y
2026-10-20
LeetCode
#java #LeetCode #algorithm #sliding window #hash table
LeetCode 3439. 重新安排會議得到最多空餘時間 I(滑動視窗圖解)

LeetCode 3439. 重新安排會議得到最多空餘時間 I(滑動視窗圖解)

3439. 重新安排會議得到最多空餘時間 I題目描述給你一個整數 eventTime 表示一個活動的總時長,這個活動開始於 t = 0,結束於 t = eventTime。 同時給你兩個長度為 n 的整數陣列 startTime 和 endTime。它們表示這次活動中 n 個時間沒有重疊的會議,其中第 i 個會議的時間為 [startTime[i], endTime[i]]。 你可以重新安排至多
2026-10-20
LeetCode
#java #LeetCode #algorithm #sliding window
LeetCode 3679. 平衡庫存的最少丟棄次數(貪心+滑動視窗圖解)

LeetCode 3679. 平衡庫存的最少丟棄次數(貪心+滑動視窗圖解)

3679. 平衡庫存的最少丟棄次數題目描述給你兩個整數 w 和 m,以及一個整數陣列 arrivals,其中 arrivals[i] 表示第 i 天到達的物品類型(天數從 1 開始編號)。 物品的管理遵循以下規則: 每個到達的物品可以被保留或丟棄,物品只能在到達當天被丟棄。 對於每一天 i,考慮天數範圍為 [max(1, i - w + 1), i](也就是直到第 i 天為止最近的 w 天):
2026-10-20
LeetCode
#java #LeetCode #algorithm #sliding window #hash table #greedy
LeetCode 3. 無重複字元的最長子串(滑動視窗圖解)

LeetCode 3. 無重複字元的最長子串(滑動視窗圖解)

3. 無重複字元的最長子串題目描述給定一個字串 s,請你找出其中不含有重複字元的最長子串的長度。 範例 1 123輸入:s = "abcabcbb"輸出:3解釋:因為無重複字元的最長子串是 "abc",所以其長度為 3。注意 "bca" 和 "cab" 也是正確答案。 範例 2 123輸入:s = "bbb
2026-10-19
LeetCode
#java #LeetCode #algorithm #sliding window #hash table
LeetCode 1052. 愛生氣的書店老闆(定長滑動視窗圖解)

LeetCode 1052. 愛生氣的書店老闆(定長滑動視窗圖解)

1052. 愛生氣的書店老闆題目描述有一個書店老闆,他的書店開了 n 分鐘。每分鐘都有一些顧客進入這家商店。給定一個長度為 n 的整數陣列 customers,其中 customers[i] 是在第 i 分鐘開始時進入商店的顧客數量,所有這些顧客在第 i 分鐘結束後離開。 在某些分鐘內,書店老闆會生氣。如果書店老闆在第 i 分鐘生氣,那麼 grumpy[i] = 1,否則 grumpy[i] =
2026-10-19
LeetCode
#java #LeetCode #algorithm #sliding window
LeetCode 1423. 可獲得的最大點數(逆向思維+滑動視窗圖解)

LeetCode 1423. 可獲得的最大點數(逆向思維+滑動視窗圖解)

1423. 可獲得的最大點數題目描述幾張卡牌排成一行,每張卡牌都有一個對應的點數,點數由整數陣列 cardPoints 給出。 每次行動,你可以從行的開頭或者末尾拿一張卡牌,最終你必須正好拿 k 張卡牌。 你的點數就是你拿到手中的所有卡牌的點數之和。 給你一個整數陣列 cardPoints 和整數 k,請你回傳可以獲得的最大點數。 範例 1 1234輸入:cardPoints = [1,2,3,4
2026-10-19
LeetCode
#java #LeetCode #algorithm #sliding window
LeetCode 2461. 長度為 K 子陣列中的最大和(滑動視窗圖解)

LeetCode 2461. 長度為 K 子陣列中的最大和(滑動視窗圖解)

2461. 長度為 K 子陣列中的最大和題目描述給你一個整數陣列 nums 和一個整數 k。請你從 nums 中滿足下述條件的全部子陣列中找出最大子陣列和: 子陣列的長度是 k,且 子陣列中的所有元素各不相同。 回傳滿足題面要求的最大子陣列和。如果不存在子陣列滿足這些條件,回傳 0。 子陣列是陣列中一段連續非空的元素序列。 範例 1 123456789輸入:nums = [1,5,4,2,9,
2026-10-19
LeetCode
#java #LeetCode #algorithm #sliding window #hash table
LeetCode 2841. 幾乎唯一子陣列的最大和(滑動視窗圖解)

LeetCode 2841. 幾乎唯一子陣列的最大和(滑動視窗圖解)

2841. 幾乎唯一子陣列的最大和題目描述給你一個整數陣列 nums 和兩個正整數 m 和 k。 請你回傳 nums 中長度為 k 的幾乎唯一子陣列的最大和,如果不存在幾乎唯一子陣列,請回傳 0。 如果 nums 的一個子陣列有至少 m 個互不相同的元素,我們稱它是幾乎唯一子陣列。 子陣列指的是一個陣列中一段連續非空的元素序列。 範例 1 1234輸入:nums = [2,6,7,3,1,7],
2026-10-19
LeetCode
#java #LeetCode #algorithm #sliding window #hash table
LeetCode 2379. 得到 K 個黑塊的最少塗色次數(滑動視窗圖解)

LeetCode 2379. 得到 K 個黑塊的最少塗色次數(滑動視窗圖解)

2379. 得到 K 個黑塊的最少塗色次數題目描述給你一個長度為 n、下標從 0 開始的字串 blocks,blocks[i] 要么是 'W',要么是 'B',表示第 i 塊的顏色:'W' 為白色,'B' 為黑色。 再給你一個整數 k,表示想要連續黑色塊的數目。 每一次操作,你可以選擇一個白色塊把它塗成黑色。請回傳至少出現一次連續 k
2026-10-17
LeetCode
#java #LeetCode #algorithm #sliding window
OpenSpec:讓 AI 寫程式更可靠的規格驅動開發工具

OpenSpec:讓 AI 寫程式更可靠的規格驅動開發工具

前言在 AI 輔助程式開發的時代,你是否遇過這些問題: 告訴 AI「加個搜尋功能」,結果做出來的跟你想的完全不一樣? AI 寫到一半「忘了」之前的需求,開始自己發明功能? 每次都要重新解釋需求,因為 AI 不記得上次說過什麼? 團隊裡每個人用的 AI 工具不同(Claude Code、Cursor、Windsurf…),需求描述各說各話? 如果你有以上困擾,OpenSpec 可能就是你在尋找的
2026-03-03
AI 開發工具
#OpenSpec #AI #SDD #Claude Code #Cursor
123…15

搜尋