美文网首页程序员
力扣 554 砖墙

力扣 554 砖墙

作者: zhaojinhui | 来源:发表于2020-11-21 00:34 被阅读0次

题意:给定一个墙,让花一条线穿过的墙数最小

思路:遍历每一行,用hashmap统计每一列,有多少最后一格砖,比如
{
{1,1, 2},
{2,2}
}
那么第1列有1格砖,第二列有两格砖,因为不能把线花在末尾,所以遍历到每一行最后一块砖的前一块

思想:遍历数组

复杂度:时间O(m*n),空间O(n)

class Solution {
    public int leastBricks(List<List<Integer>> wall) {
        if(wall == null)
            return 0;
        int m = wall.size();
        if(m == 0)
            return 0;
        
        if(wall.get(0) == null || wall.get(0).size() == 0)
            return 0;
        
        int n = 0;
        for(int i: wall.get(0)) {
            n += i;
        }
        HashMap<Integer, Integer> map = new HashMap();
        int index = 0;
        int cnt = 0;
        int res = m;
        for(List<Integer> list: wall) {
            index = 0;
            for(int j=0;j<list.size() -1;j++) {
                int i = list.get(j);
                index += i;
                int cur = map.getOrDefault(index - 1, 0);
                map.put(index - 1, cur + 1);
                res = Math.min(res, m - map.get(index - 1)); 
            }
            cnt++;
        }
    
        return res;
    }
}

相关文章

  • 力扣 554 砖墙

    题意:给定一个墙,让花一条线穿过的墙数最小 思路:遍历每一行,用hashmap统计每一列,有多少最后一格砖,比如{...

  • 力扣每日一题:554.砖墙

    554.砖墙 https://leetcode-cn.com/problems/brick-wall/[https...

  • 554. 砖墙

    你的面前有一堵方形的、由多行砖块组成的砖墙。 这些砖块高度相同但是宽度不同。你现在要画一条自顶向下的、穿过最少砖块...

  • 554. 砖墙

    2021-05-02 LeetCode每日一题 链接:https://leetcode-cn.com/proble...

  • 554. 砖墙

    你的面前有一堵矩形的、由 n 行砖块组成的砖墙。这些砖块高度相同(也就是一个单位高)但是宽度不同。每一行砖块的宽度...

  • 554. 砖墙/ 201. 数字范围按位与

    554. 砖墙 相关标签 : 哈希表 201. 数字范围按位与 相关标签: 位运算

  • 前端算法之哈字典&希表

    一、力扣01两数之和 二、力扣217存在重复元素 三、力扣349两个数组的交集 四、力扣1207独一无二的出现次数...

  • 力扣

    Add and Search Word - Data structure design Design a data...

  • 砖墙

    题目描述:你的面前有一堵方形的、由多行砖块组成的砖墙。 这些砖块高度相同但是宽度不同。你现在要画一条自顶向下的、穿...

  • 399. 除法求值(Python)

    题目 难度:★★★★☆类型:图方法:深度优先搜索 力扣链接请移步本题传送门更多力扣中等题的解决方案请移步力扣中等题...

网友评论

    本文标题:力扣 554 砖墙

    本文链接:https://www.haomeiwen.com/subject/sruhiktx.html