翻轉矩陣後的得分

2021-10-08 03:15:07 字數 1183 閱讀 3414

問題描述 :

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

示例:輸入:[[0,0,1,1],[1,0,1,0],[1,1,0,0]]

輸出:39

解釋:轉換為 [[1,1,1,1],[1,0,0,1],[1,1,1,1]]

0b1111 + 0b1001 + 0b1111 = 15 + 9 + 15 = 39

輸入說明 :

首先輸入矩陣的行數m、列數n,

然後輸入m行,每行n個數字,每個數字都是0或1。

1 <= m <= 20

1 <= n <= 20

輸出說明 :

輸出乙個整數

輸入範例 :

3 40 0 1 1

1 0 1 0

1 1 0 0

輸出範例 :

39

#include

#include

#include

using

namespace std;

intmatrixscore

(vectorint>>

&nums)

else

if(nums[i]

[index]==1

) index++;}

}}int sum=row*

pow(

2,col-1)

;//計算第一列的值

for(

int i=

1;iif(count<=row/2)

sum=sum+count*

pow(

2,col-i-1)

;//計算當前列的值

}return sum;

}int

main()

nums.

push_back

(v);

} cout<<

matrixscore

(nums)

;}

翻轉矩陣後的得分

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

翻轉矩陣後的得分(LeetCode)

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

861 翻轉矩陣後的得分

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