C语言 | Leetcode C语言题解之第318题最大单词长度乘积

题目:

题解:

cpp 复制代码
int maxProduct(char ** words, int wordsSize){
    int masks[wordsSize];
    memset(masks, 0, sizeof(masks));
    for(int i = 0; i < wordsSize; ++i) {
        int len = strlen(words[i]);
        for(int j = 0; j < len; ++j) {
            masks[i] |= 1 << (words[i][j] - 'a');
        }
    }

    int res = 0;
    for(int i = 0; i < wordsSize; ++i) {
        for(int j = i + 1; j < wordsSize; ++j) {
            if((masks[i] & masks[j]) == 0) {
                res = fmax(res, strlen(words[i]) * strlen(words[j]));
            }
        }
    }

    return res;
}
相关推荐
Nil20844 分钟前
leetcode 73矩阵置0
算法·leetcode·矩阵
Hello_Damon_Nikola1 小时前
CH573从入门到精通
c语言·开发语言·单片机·嵌入式硬件
Chen—LSN2 小时前
C语言——数据在内存中的存储
c语言·开发语言·经验分享·笔记
caimouse2 小时前
ReactOS 图形系统分析(24):指针(光标)管理 — mouse.c/h
c语言·开发语言
caimouse3 小时前
ReactOS 图形系统分析(23):引擎内存管理 — mem.c
c语言·开发语言
caimouse3 小时前
ReactOS 图形系统分析(15):窗口对象 — EWNDOBJ(engwindow.c)
c语言·开发语言
旖旎夜光3 小时前
LeetCode 1658:将 x 减到 0 的最小操作数(滑动窗口) —— 题解
数据结构·c++·算法·leetcode·滑动窗口
caimouse3 小时前
ReactOS 图形系统分析(25):多显示器/平移显示与杂项 — multidisp.c / pandisp.c / engmisc.c
c语言·开发语言
ZC跨境爬虫3 小时前
LeetCode 88. 合并两个有序数组(双指针详解 + Java Python 实现)
java·python·算法·leetcode
Nil2083 小时前
leetcode 238除了自身以外数组的乘积
数据结构·算法·leetcode