LeetCode Range Addition II
原題鏈接在這里:https://leetcode.com/problems/range-addition-ii/description/
題目:
Given an m * n matrix?M?initialized with all?0's and several update operations.
Operations are represented by a 2D array, and each operation is represented by an array with two?positive?integers?a?and?b, which means?M[i][j]?should be?added by one?for all?0 <= i < a?and?0 <= j < b.
You need to count and return the number of maximum integers in the matrix after performing all the operations.
Example 1:
Input: m = 3, n = 3 operations = [[2,2],[3,3]] Output: 4 Explanation: Initially, M = [[0, 0, 0],[0, 0, 0],[0, 0, 0]]After performing [2,2], M = [[1, 1, 0],[1, 1, 0],[0, 0, 0]]After performing [3,3], M = [[2, 2, 1],[2, 2, 1],[1, 1, 1]]So the maximum integer in M is 2, and there are four of it in M. So return 4.Note:
題解:
找出最小的更新row, 和最小的更新column, 返回乘機. 記得這兩個可能比對應的m, n大, 所以初始值時m,n.
Time Complexity: O(ops.length). Space: O(1).
AC Java:
1 class Solution { 2 public int maxCount(int m, int n, int[][] ops) { 3 if(ops == null || ops.length == 0){ 4 return m*n; 5 } 6 7 int minRow = m; 8 int minColumn = n; 9 for(int [] op : ops){ 10 minRow = Math.min(minRow, op[0]); 11 minColumn = Math.min(minColumn, op[1]); 12 } 13 return minRow*minColumn; 14 } 15 }類似Range Addition.
轉載于:https://www.cnblogs.com/Dylan-Java-NYC/p/7518821.html
總結
以上是生活随笔為你收集整理的LeetCode Range Addition II的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Node.js 把图片流送到客户端
- 下一篇: centos6.9下php7安装zip扩