問題描述 :
有乙個二維矩陣 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。在做出任...