leetcode的每日一題更新(Range Addition II)

題目:給兩個(gè)數(shù)字m,n和一個(gè)二維數(shù)組ops,兩個(gè)數(shù)字代表一個(gè)二維數(shù)組,所有的元素都是0,而二維數(shù)組里每個(gè)ops[[a,b]]有兩個(gè)數(shù)字,和mn一樣,他們代表一個(gè)二維數(shù)組,只是不一樣的是他們的意思只是在mn代表的二維數(shù)組里的子集二維數(shù)組ab的值全部加一,ops有多少個(gè)就加多少次,最后返回其中最大的值的個(gè)數(shù)。
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.
解題思路:題目很簡單,我覺得這個(gè)問題只是考驗(yàn)一下關(guān)于邊界值的處理,其實(shí)邏輯很簡單,只要找到ops[i][0]中的最小值和ops[i][1]的最小值,返回兩個(gè)數(shù)的乘積即可,附上代碼:

public int maxCount(int m, int n, int[][] ops) {
        if(ops==null ||  m<=0 || n<=0)return 0;
        if(ops .length==0 )return m*n;
        int minfirst=ops[0][0];
        int minsecond=ops[0][1];
        for(int i=0;i<ops.length;i++){
            if(ops[i][0]<minfirst)minfirst=ops[i][0];
            if(ops[i][1]<minsecond)minsecond=ops[i][1];
        }
        if(m*n<minfirst*minsecond)
            return m*n;
        else return minfirst*minsecond;
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗(yàn)。 張土汪:刷leetcod...
    土汪閱讀 12,922評論 0 33
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,578評論 19 139
  • 【1】7,9,-1,5,( ) A、4;B、2;C、-1;D、-3 分析:選D,7+9=16;9+(-1)=8;(...
    Alex_bingo閱讀 19,808評論 1 19
  • 先決條件 在閱讀這個(gè)教程之前,你多少需要知道點(diǎn)python。如果你想從新回憶下,請看看Python Tutoria...
    舒map閱讀 2,730評論 1 13
  • 成長的路上免不了要一個(gè)人走 不吃虧不上當(dāng)那就不叫成長
    Miracle_37ca閱讀 206評論 0 0

友情鏈接更多精彩內(nèi)容