在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:MindDraft Consider a matrix Return the maximum possible number of ones that the matrix Example 1: Input: width = 3, height = 3, sideLength = 2, maxOnes = 1 Output: 4 Explanation: In a 3*3 matrix, no 2*2 sub-matrix can have more than 1 one. The best solution that has 4 ones is: [1,0,1] [0,0,0] [1,0,1] Example 2: Input: width = 3, height = 3, sideLength = 2, maxOnes = 2 Output: 6 Explanation: [1,0,1] [1,0,1] [1,0,1] Constraints:
现在有一个尺寸为 而且矩阵 请你设计一个算法,计算矩阵中最多可以有多少个 示例 1: 输入:width = 3, height = 3, sideLength = 2, maxOnes = 1 输出:4 解释: 题目要求:在一个 3*3 的矩阵中,每一个 2*2 的子阵中的 1 的数目不超过 1 个。 最好的解决方案中,矩阵 M 里最多可以有 4 个 1,如下所示: [1,0,1] [0,0,0] [1,0,1] 示例 2: 输入:width = 3, height = 3, sideLength = 2, maxOnes = 2 输出:6 解释: [1,0,1] [1,0,1] [1,0,1] 提示:
Runtime: 32 ms
Memory Usage: 21 MB
1 class Solution { 2 func maximumNumberOfOnes(_ width: Int, _ height: Int, _ sideLength: Int, _ maxOnes: Int) -> Int { 3 var res:[Int] = [Int]() 4 for i in 0..<sideLength 5 { 6 for j in 0..<sideLength 7 { 8 res.append(((width-i-1)/sideLength+1)*((height-j-1)/sideLength+1)) 9 } 10 } 11 res = res.sorted(by:>) 12 var ans:Int = 0 13 for i in 0..<maxOnes 14 { 15 ans += res[i] 16 } 17 return ans 18 } 19 }
|
请发表评论