首页 > 其他 > 详细

[每日一题] leetcode 554. 砖墙

时间:2021-05-02 22:16:13      阅读:26      评论:0      收藏:0      [点我收藏+]

用map统计边缘即可

最后求出哪个边缘出现次数cnt最多

返回n - cnt即可

class Solution {
public:
    map<int, int> vis;
    set<int> s;
    int leastBricks(vector<vector<int>>& wall) {
        int n = wall.size(), m, sum;
        int ans = 0;
        for(int i = 0; i < n; i++)
        {
            sum = 0;
            m = wall[i].size();
            for(int j = 0; j < m - 1; j++)
            {
                sum += wall[i][j];
                if(vis.count(sum) == 0) vis[sum] = 0;
                vis[sum]++;
            }
        }
        int cnt = 0;
        for(int i = 0; i < n; i++)
        {
            sum = 0;
            m = wall[i].size();
            for(int j = 0; j < m - 1; j++)
            {
                sum += wall[i][j];
                cnt = max(cnt, vis[sum]);
            }
        }
        return n - cnt;

    }
};

 

[每日一题] leetcode 554. 砖墙

原文:https://www.cnblogs.com/WTSRUVF/p/14725952.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!