本文主要是介绍**Leetcode 861. Score After Flipping Matrix,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
先写的状压,因为数据说只有<=20 然后挂了。。
贪心
class Solution {
public:int matrixScore(vector<vector<int>>& A) {if (!A.size() || !A[0].size()) return 0;for (int i = 0; i < A.size(); i++) {if (!A[i][0]) {for (int j = 0; j < A[i].size(); j++) {A[i][j] = !A[i][j];}}}int ret = 0;for (int j = 0; j < A[0].size(); j++) {int cnt = 0;for (int i = 0; i < A.size(); i++) {if (A[i][j])cnt ++;}if (cnt < (A.size()+1)/2) {for (int i = 0; i < A.size(); i++) {A[i][j] = !A[i][j];}}}for (int i = 0; i < A.size(); i++) {int tmp = 0;for (int j = 0; j < A[i].size(); j++) {if (A[i][j]) {tmp |= 1 << (A[i].size()-1-j);}}ret += tmp;}return ret;}
};
这篇关于**Leetcode 861. Score After Flipping Matrix的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!