C语言 | Leetcode C语言题解之第554题砖墙

题目:

题解:

cpp 复制代码
struct HashTable {
    int key, val;
    UT_hash_handle hh;
};

int leastBricks(int** wall, int wallSize, int* wallColSize) {
    struct HashTable* cnt = NULL;
    for (int i = 0; i < wallSize; i++) {
        int n = wallColSize[i];
        int sum = 0;
        for (int j = 0; j < n - 1; j++) {
            sum += wall[i][j];
            struct HashTable* tmp;
            HASH_FIND_INT(cnt, &sum, tmp);
            if (tmp == NULL) {
                tmp = malloc(sizeof(struct HashTable));
                tmp->key = sum, tmp->val = 1;
                HASH_ADD_INT(cnt, key, tmp);
            } else {
                tmp->val++;
            }
        }
    }
    int maxCnt = 0;
    struct HashTable *iter, *tmp;
    HASH_ITER(hh, cnt, iter, tmp) {
        maxCnt = fmax(maxCnt, iter->val);
    }
    return wallSize - maxCnt;
}
相关推荐
LuckyLay1 小时前
LeetCode算法题(Go语言实现)_38
算法·leetcode·golang
小郝 小郝2 小时前
【C语言】浮点数在内存的储存
c语言·开发语言
阿里云云原生2 小时前
C语言 AI 通义灵码 VSCode插件安装与功能详解
c语言
似水এ᭄往昔3 小时前
【C语言】预处理(预编译)(C语言完结篇)
c语言·开发语言
愚润求学3 小时前
【C++】模板进阶
c语言·开发语言·c++·笔记·模板
darkchink4 小时前
[LevelDB]Block系统内幕解析-元数据块(Meta Block)&元数据索引块(MetaIndex Block)&索引块(Index Block)
android·java·服务器·c语言·数据库·c++·分布式
Rinai_R4 小时前
xv6-labs-2024 lab2
c语言·操作系统·学习笔记·计算机基础·实验
xiecoding.cn4 小时前
Sublime Text使用教程(用Sublime Text编写C语言程序)
c语言·c++·青少年编程·编辑器·sublime text
Wythzhfrey5 小时前
51单片机Day03---让一个LED灯闪烁
c语言·单片机·嵌入式硬件·c#·51单片机
houliabc5 小时前
C语言个人笔记
c语言·数据结构·笔记·算法