今天是坚持每日一题打卡的第二十二天


题目链接:https://leetcode-cn.com/problems/maximum-product-of-word-lengths/


题解汇总:https://zhanglong.blog.csdn.net/article/details/121071779


题目描述

给定一个字符串数组 words,找到 length(word[i]) * length(word[j]) 的最大值,并且这两个单词不含有公共字母。你可以认为每个单词只包含小写字母。如果不存在这样的两个单词,返回 0。

示例 1:
输入: [“abcw”,“baz”,“foo”,“bar”,“xtfn”,“abcdef”]
输出: 16
解释: 这两个单词为 “abcw”, “xtfn”。

示例 2:
输入: [“a”,“ab”,“abc”,“d”,“cd”,“bcd”,“abcd”]
输出: 4
解释: 这两个单词为 “ab”, “cd”。

示例 3:
输入: [“a”,“aa”,“aaa”,“aaaa”]
输出: 0
解释: 不存在这样的两个单词。

提示:
2 <= words.length <= 1000
1 <= words[i].length <= 1000
words[i] 仅包含小写字母


核心思路: 位运算 + 字符串
由于字母只有26位,因此可以采用或运算的方式求出每个单词中字母出现的位置和次数

同时,如果两个数相与为0,则代表这两个字符串无字母重复。

class Solution {private:static const int MAX_LEN = 1000 + 10;
public:int maxProduct(vector<string>& words) {int arr[MAX_LEN] = {0}, pos = 0;int res = 0;for (int i = 0; i < words.size(); i++) {int t = 0;for (auto j : words[i]) {t = t | (1 << (j-'a'));}arr[pos++] = t;}for (int i = 0; i < pos; i++) {for(int j = i + 1; j < pos; j++) {if ((arr[i] & arr[j]) == 0) res = max(res, int(words[i].size() * words[j].size()));}}return res;}
};

C++题解-Leecode 318. 最大单词长度乘积——Leecode每日一题系列相关推荐

  1. LeetCode 391. 完美矩形(扫描线) / 318. 最大单词长度乘积 / 563. 二叉树的坡度

    391. 完美矩形 2021.11.16 每日一题 题目描述 给你一个数组 rectangles ,其中 rectangles[i] = [xi, yi, ai, bi] 表示一个坐标轴平行的矩形.这 ...

  2. leetcode 318. Maximum Product of Word Lengths | 318. 最大单词长度乘积

    题目 https://leetcode.com/problems/maximum-product-of-word-lengths/ 题解 中规中矩的题目,中规中矩的思路,不像是一个 medium 题. ...

  3. 318. 最大单词长度乘积 golang

    question 给定一个字符串数组 words,找到 length(word[i]) * length(word[j]) 的最大值,并且这两个单词不含有公共字母.你可以认为每个单词只包含小写字母.如 ...

  4. LeetCode 318. 最大单词长度乘积(位运算)

    1. 题目 给定一个字符串数组 words,找到 length(word[i]) * length(word[j]) 的最大值,并且这两个单词不含有公共字母.你可以认为每个单词只包含小写字母.如果不存 ...

  5. leetcode 318 最大单词长度乘积

    https://leetcode-cn.com/problems/maximum-product-of-word-lengths/ 题目 给定一个字符串数组wordswordswords,找到leng ...

  6. 【LeetCode笔记 - 每日一题】318. 最大单词长度乘积(Java、位运算)

    文章目录 题目描述 思路 && 代码 题目描述 挺不错!有bitmap的感觉了. 思路 && 代码 思路好想:两两对比,无公共判断,维护 res 那么,如何进行公共判断 ...

  7. C++题解-Leecode 520. 检测大写字母——Leecode每日一题系列

    今天是坚持每日一题打卡的第十八天 题目链接:https://leetcode-cn.com/problems/detect-capital/ 题解汇总:https://zhanglong.blog.c ...

  8. 题意解读+详细题解-Leecode 319. 灯泡开关——Leecode每日一题系列

    今天是坚持每日一题打卡的第二十天 题目链接:https://leetcode-cn.com/problems/bulb-switcher/ 题解汇总:https://zhanglong.blog.cs ...

  9. C++题解-Leecode 375. 猜数字大小 II——Leecode每日一题系列

    今天是坚持每日一题打卡的第十七天 题目链接:https://leetcode-cn.com/problems/guess-number-higher-or-lower-ii/submissions/ ...

最新文章

  1. 三维空间平面拟合MATLAB
  2. 因果AI诊断模型登上nature:模拟专业医师思维,诊断罕见疾病,超越SOTA算法
  3. Android序列化与反序列化
  4. 数学建模模型概述框架
  5. 牛客 - tokitsukaze and Inverse Number(树状数组+逆序对定理)
  6. Raphael学习笔记(2)--绘图(基本图形)
  7. jQuery源码研究分析学习笔记-回调函数(11)
  8. 【译】你不知道的 Chrome 调试工具技巧 第二十天:Workspace的黑魔法
  9. 准确率创新高,北大开源中文分词工具包 pkuseg
  10. 符号级别(一)--基础概念
  11. java正则表达式大全(常用)
  12. 游戏软件测试学什么条件,游戏测试工程师岗位的工作内容
  13. windows快捷键之预览窗格
  14. dx12 龙书第十六章学习笔记 -- 实例化与视锥体剔除
  15. JPA中could not insert: 的解决办法
  16. Altium Designer(AD)的简易使用
  17. 最新版gg服务器框架安装器,GG服务框架安装器最新版本
  18. 三大运营商URL欺骗;手机免费上网,测试,教程,服务器
  19. 【问卷调查发布系统的设计与实现】
  20. 《Arduino开发实战指南:机器人卷》一3.2 直流电机工作原理

热门文章

  1. 让VC编译的Release版本程序在其他机器上顺利运行
  2. RTC 技术知识体系
  3. 贝壳app Authorization参数分析
  4. 音视频、AI和5G等技术在东京奥运会中的应用
  5. 从上海到旧金山,2021 LiveVideoStackCon回归上海
  6. 使用级联SFU改善媒体质量和规模
  7. 腾讯高性能分布式路由技术,亮相亚太网络研讨会APNet
  8. 极速搭建一个个人博客网站
  9. STL:transform
  10. Redis持久化 RDB和AOF 比较与选择