本文主要是介绍554. Brick Wall (map),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
https://leetcode.com/problems/brick-wall/description/
题目:最少穿越几块砖
思路:
可以从图片中看出,如果能够同时go through说明每一层左边的和是相等的,图中go through的位置和为4,第2、3、5、6层的均满足,
而brick总共6层,于是最少穿过的brick为2层。
于是想到出现同一个和的个数越多,即满足穿过的brick越少。
用一个map来统计即可。
class Solution {
public:int leastBricks(vector<vector<int>>& wall) {map<int,int>m;for(int x=0;x<wall.size();x++){int sum=0;for(int y=0;y<wall[x].size()-1;y++){sum+=wall[x][y];m[sum]++;}}int max1=0;map<int,int>::iterator it = m.begin();while(it!=m.end()){max1=max(it->second,max1);it++;}return wall.size()-max1;}
};
这篇关于554. Brick Wall (map)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!