2022-12-08 2482

2482 leetcode

給你一個下標從 0 開始的 m x n 二進制矩陣 grid 。

我們按照如下過程,定義一個下標從 0 開始的 m x n 差值矩陣 diff :

令第 i 行一的數(shù)目為 onesRowi 。
令第 j 列一的數(shù)目為 onesColj 。
令第 i 行零的數(shù)目為 zerosRowi 。
令第 j 列零的數(shù)目為 zerosColj 。
diff[i][j] = onesRowi + onesColj - zerosRowi - zerosColj
請你返回差值矩陣 diff 。

來源:力扣(LeetCode)
鏈接:https://leetcode.cn/problems/difference-between-ones-and-zeros-in-row-and-column
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。

class Solution:
    def onesMinusZeros(self, grid: List[List[int]]) -> List[List[int]]:
        yirow =[2*sum(a) for a in grid] 
        yishu =[2*sum(a) for a in zip(*grid)]  
        y=len(yirow) 
        x=len(yishu)  
        g=-y-x
        ans =[]
        for a in range(y):
            t=[]
            se =yirow[a]+g
            for b in range(x):
                t.append(se +yishu[b]) 
            ans.append(t)
        return ans
'''
推導(dǎo)過程,以及盡量減少循環(huán)內(nèi)的計算量
diff[i][j] = onesRowi + onesColj - zerosRowi - zerosColj
zeroRowi = x - onesRowi 
zerosColj =y -onesColj
g=-x-y
diff[i][j] = onesRowi*2 + onesColj*2 +g
最一開始,就2倍,避免循環(huán)中乘法 
能循環(huán)外加法,就循環(huán)外面做
'''


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

  • 算法思想貪心思想雙指針排序快速選擇堆排序桶排序荷蘭國旗問題二分查找搜索BFSDFSBacktracking分治動態(tài)...
    第六象限閱讀 4,896評論 0 0
  • 本教程是基于Numpy1.14官方網(wǎng)站的文檔 原文地址:點我呀 為本人在備考期間利用課余時間進行翻譯的,預(yù)計在一周...
    劉點石閱讀 14,750評論 1 31
  • to-do:看一下別人寫的題解 https://github.com/981377660LMT/algorithm...
    winter_sweetie閱讀 891評論 1 0
  • 基礎(chǔ)篇NumPy的主要對象是同種元素的多維數(shù)組。這是一個所有的元素都是一種類型、通過一個正整數(shù)元組索引的元素表格(...
    oyan99閱讀 5,286評論 0 18
  • NumPy是Python中關(guān)于科學(xué)計算的一個類庫,在這里簡單介紹一下。 來源:https://docs.scipy...
    灰太狼_black閱讀 1,329評論 0 5

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