0
我有2D二進制數組。尺寸:M
X N
例如13
X 2
陣列可以是這樣的: 1010101010110 1010011111000
不同的子陣列的數量
是否可以說我們有多少不同的2D子陣列可以做什麼呢? M
x N
數組也是子數組。
無字different
我認爲子數組的數量是:(n * (n + 1) * m * (m + 1))/4
是這樣嗎?
我有2D二進制數組。尺寸:M
X N
例如13
X 2
陣列可以是這樣的: 1010101010110 1010011111000
不同的子陣列的數量
是否可以說我們有多少不同的2D子陣列可以做什麼呢? M
x N
數組也是子數組。
無字different
我認爲子數組的數量是:(n * (n + 1) * m * (m + 1))/4
是這樣嗎?
在測試
當然,對於不同尺寸的子矩陣的數量,它只是m x n
因爲行的每個長,有柱的長度,你可以切片。
但更有趣的問題,如何將二維數組的許多排列可以生成,下面的代碼顯示了這一點:
permutations = []
for i in 1...m {
for j in 1...n {
// now we make all possible i x j matrices
for k in 0..<floor(m/i) + 1 {
for l in 0..<floor(n/j) + 1 {
permutations.append(input[k:k+i,l:l+j])
}
}
}
}
所以它是這樣的:
m * n * (2m+1 + floor(m/2) + floor(m/3) + ... + floor(m/(m-1))) * (2n+1 + floor(n/2) + floor(n/3) + ... + floor(n/(n-1)))
定義選擇子陣列的操作類型和「不同」的含義 – Amit
不同的尺寸。值不相關。 – John