861 翻轉矩陣後的得分

2021-10-11 14:28:40 字數 675 閱讀 7928

貪心:為了確保得到的值最大,陣列第一列必須是1,首先就可以對二維陣列的第一列不是1的記錄進行反轉,然後再處理列,每列中的1的個數大於一半,就進行反轉。這樣就能確保得到的值最大。

**:這是第一次過題**,對二維陣列進行了反轉,其實不用,只需要求值就可以了。

class

solution}}

for(

int i =

1; i < column; i++

)int rowcnt = row >>1;

if(cnt <= rowcnt)}}

// 計算最後的值

int matrixscore =0;

for(

int i =

0; i < row; i++

) matrixscore += sum;

}return matrixscore;

}}

修改後的**

class

solution

matrixscore += math.

max(rowcnt, row - rowcnt)*(

1<<

(column - j -1)

);}return matrixscore;

}}

861 翻轉矩陣後的得分

package com.heu.wsq.leetcode 861.翻轉矩陣後的得分 author wsq date 2020 12 7 有乙個二維矩陣 a 其中每個元素的值為 0 或 1 移動是指選擇任一行或列,並轉換該行或列中的每乙個值 將所有 0 都更改為 1,將所有 1 都更改為 0。在做出任...

861 翻轉矩陣後的得分

題目描述 有乙個二維矩陣 a 其中每個元素的值為 0 或 1 移動是指選擇任一行或列,並轉換該行或列中的每乙個值 將所有 0 都更改為 1,將所有 1 都更改為 0。在做出任意次數的移動後,將該矩陣的每一行都按照二進位制數來解釋,矩陣的得分就是這些數字的總和。返回盡可能高的分數。示例 輸入 0,0,...

861 翻轉矩陣後的得分

861.翻轉矩陣後的得分 寫在前面的話 看到題目之後是比較懵的,感覺是要使用貪心演算法,然後就大體上演算了一下,發現遵循三個步驟就可以實現 1 將陣列每一行第乙個元素的值轉換為1 對行進行操作 2 判斷轉換後的陣列中每一列元素的情況 3 計算結果 實現 public int matrixscore ...