一开始看图被吓到了,但是,一切困难都是纸老虎!
正难则反,穿过的难算,就算没穿过的
从上往下最多穿过n块砖块,要尽可能多的从边缘走过;记录某条线被作为边缘的次数
设有m个元素,时空复杂度都是m
class Solution {
public:
int leastBricks(vector<vector<int>>& wall) {
unordered_map<int,int>mp;
int n = wall.size();
for(auto&vec:wall){
int right = 0;
for(int&x:vec){
right+=x;
mp[right]++;
}
mp[right]--;//不能从墙边缘过
}
int res = n;
for(auto& t:mp){
res = min(res,n - t.second);
}
return res;
}
};