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;
}
相关推荐
Frostnova丶23 分钟前
(10)LeetCode 560. 和为K的子数组
算法·leetcode·哈希算法
j_xxx404_1 小时前
LeetCode模拟算法精解II:外观数列与数青蛙
数据结构·c++·算法·leetcode
Book思议-1 小时前
【数据结构实战】:基于C语言单链表实现红旗渠景区年卡信息管理系统
c语言·开发语言·数据结构
17(无规则自律)2 小时前
【Linux驱动实战】:最简单的内核模块
linux·c语言·驱动开发·嵌入式硬件
無限進步D2 小时前
关于高校C语言课程的学习方法
c语言·开发语言·学习方法·入门
Tisfy2 小时前
LeetCode 3070.元素和小于等于 k 的子矩阵的数目:原地修改(前缀和思想)
算法·leetcode·前缀和·矩阵
喵喵蒻葉睦2 小时前
力扣 hot100 最小覆盖子串 哈希表 滑动窗口 Java 题解
java·算法·leetcode·哈希算法·散列表·滑动窗口
自信150413057592 小时前
数据结构初阶之二叉树收尾
c语言·数据结构·算法
一叶落4383 小时前
【LeetCode 12】整数转罗马数字(C语言)| 贪心算法详解
c语言·数据结构·c++·算法·leetcode·贪心算法
一叶落4383 小时前
【LeetCode 289】生命游戏(C语言)|原地算法 + 状态标记法
c语言·数据结构·算法·leetcode·游戏