精華區beta Marginalman 關於我們 聯絡資訊
我用hash table + prefix sum 寫起來也沒有4個迴圈快 一定是我太爛了 太苦了 func numSubmatrixSumTarget(matrix [][]int, target int) int { n := len(matrix) m := len(matrix[0]) prefix := make([][]int, n+1) ans := 0 for i := 0; i < n+1; i++ { prefix[i] = make([]int, m+1) } for i := 1; i < n+1; i++ { for k := 1; k <= i; k++ { rec := make(map[int]int) for j := 1; j < m+1; j++ { prefix[i][j] = matrix[i-1][j-1] + prefix[i-1][j] [i-1][j-1] sum := prefix[i][j] - prefix[i-k][j] if sum == target { ans++ } diff := sum - target ans += rec[diff] rec[sum]++ } } } return ans } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.139.166.212 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1706436917.A.9D1.html
kazunerae: numSubmatrixSumTarget01/28 18:16
kazunerae: 寶 教我用海象運算子01/28 18:16
那是三小
oin1104: 靠北 你這個跟我看到的那個最佳解一樣啊01/28 18:18
※ 編輯: JIWP (223.139.166.212 臺灣), 01/28/2024 18:20:20
JIWP: 幹,這三小排版 01/28 18:20
kazunerae: :=不是叫海象運算子嗎 01/28 18:22
JIWP: 那不是叫短變數宣告嗎? 我是用golang 01/28 18:24
SecondRun: 大師 01/28 18:27
SecondRun: 叫海象好可愛喔 01/28 18:29
sustainer123: python的叫法ㄅ 3.8引進來的 01/28 18:38
sustainer123: 我知道這東西但沒用過 01/28 18:38