使用哈希表记录所有的边缘,然后统计边缘出现次数最多的那一条,用总的行数n减去即可。
class Solution {
public:
int ans=0;
unordered_map<int,int> mp;
int leastBricks(vector<vector<int>>& wall) {
int n=wall.size();
for(int i=0;i<n;i++)
{
int m=wall[i].size(),temp=0;
for(int j=0;j<m-1;j++)
{
temp+=wall[i][j];
mp[temp]++;
}
}
for(auto x:mp)
{
ans=max(ans,x.second);
}
return n-ans;
}
};