318. Maximum Product of Word Lengths
问题:给定一个字符串数组words,找到这样的最大值:length(word[i]) * length(word[j]),words[i]和words[j]没有共同的字母。假设输入字符串只包含小写字母。如果不存在这样的两个字符串,则返回0。
思路:难点是判断两个字符串是否包含相同字母。可以一个个遍历找到,效率会比较低。看看用位运算能怎么做。一共26个小写字母。表示不同的字母可以用one-hot类型表示(从词向量表示方法得到的启示)。
z = 10000…000(一共25个0)
y = 01000…000(一共25个0)
…
a = 0000…001
用26位的二进制表示不同的字母。
这样一个字符串 abc = 000….111
azc = 100…..101
两个字符串的值做与操作。如果结果为0,则说明没有相同字符。
public int maxProduct(String[] words) {int n = words.length;int[] values = new int[n];for (int i = 0; i < n; i++) {for (int j = 0; j < words[i].length(); j++) {//这样的表示是我之前没想到的values[i] |= (1 << (words[i].charAt(j) - 'a'));}}int maxproduct = 0;for (int i = 0; i < n - 1; i++) {for (int j = i + 1; j < n; j++) {if ((values[i] & values[j]) == 0) {if (words[i].length() * words[j].length() > maxproduct) {maxproduct = words[i].length() * words[j].length();}}}}return maxproduct;}
参考资料
1 问题
318. Maximum Product of Word Lengths相关推荐
- leetcode 318. Maximum Product of Word Lengths | 318. 最大单词长度乘积
题目 https://leetcode.com/problems/maximum-product-of-word-lengths/ 题解 中规中矩的题目,中规中矩的思路,不像是一个 medium 题. ...
- Maximum Product of Word Lengths
Maximum Product of Word Lengths 题目链接: https://leetcode.com/problems... public class Solution {public ...
- LeetCode Maximum Product of Word Lengths(位操作)
问题:给出一个字符串数组,要求求出两个没有共同字符的字符串的最大积 思路:第一种方法是直接枚举任意两个字符串,看是否有公共字符,如果没有,则计算乘积,并更新最大值. 第二种方法,因为字符范围是a-z, ...
- UVA11059 Maximum Product
问题链接:UVA11059 Maximum Product.基础级练习题,用C语言编写程序. 题意简述:输入n个整数序列,有正有负,求这个序列中最大连续累乘的子序列,其最大的值为多少.如果结果为负数, ...
- LeetCode 152. Maximum Product Subarray--动态规划--C++,Python解法
题目地址:Maximum Product Subarray - LeetCode Given an integer array nums, find the contiguous subarray w ...
- UVa 11059 - Maximum Product
题目:最大字段积. 分析:dp,最大字段和类似物.求解过程同最大字段和. 这里注意,设置两个状态:以本元素结束时,最大正值和最小的负值. 更新时.假设data[i]为正,则相应跟新,假设data[i] ...
- 暴力求解——最大乘积 Maximum Product,UVa 11059
最大乘积 Maximum Product 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=84562#problem/B 解题思路 ...
- UVa 11059 Maximum Product
题意:给出n个数组成的序列,求乘积最大的连续子序列 看的紫书,因为n最大为18,每个数最大为10,所以10^18用long long 能够存下, 直接枚举起点和终点找最大值就可以了 1 #includ ...
- 【LeetCode】152. Maximum Product Subarray
题目: Find the contiguous subarray within an array (containing at least one number) which has the larg ...
最新文章
- java中运用label跳转
- k8s crd构建方法_告诉您正在构建没人想要的东西的8种方法(以及处理方法)
- 测试 远程端口 是否处于监听状态
- 轻量级3d模型查看器_耐能取得两项软件著作权,自研轻量级3D人脸识别算法领先业界...
- 《计算机组成原理》实验报告——TEC-2实验系统——微程序控制器实验
- WPF学习系列之二 (依赖项属性)
- 寓言故事中隐藏的10个成功秘诀
- 李洪强iOS开发之- 实现简单的弹窗
- C# winform打开Excel文档的方法总结!
- 求解偏微分方程开源有限元软件deal.II学习--Step 9
- Atitit 卡片管理指南规范 attilax总结(内部身份卡,饭卡,交通卡 银行卡等)
- 织梦网站地图html制作,dedecms织梦制作xml网站地图的方法
- Mybatis源码导入
- 笔记本系统恢复连载之九:神舟笔记本系统恢复
- 5G移动通信 笔记 - 系统架构与标准体系
- 乐高收割机器人_乐高机器人这个大坑,为啥大家都拽着孩子往里跳?(想了解乐高机器人比赛看这一篇就够了)...
- x86为什么是32位系统?
- TSP_旅行商问题 - 模拟退火算法(三)
- CH341A及XTW 2两种SPI FLASH烧录器的硬件使用说明_20220920【可用于升级主板BIOS】
- XILINX封装FBG与FFG区别
热门文章
- VFP参考资料word版
- HOJ 13828 Funfair
- 怎么利用GitHub
- Atitit.java swing打印功能 api attilax总结
- CVE-2013-3897漏洞成因与利用分析
- 说说我最近比较迷的Criminal Minds
- mysql n 存储结构,MySQL体系结构和存储引擎概述
- 删除sessionstorage_localStorage 和 sessionStorage 介绍
- CentOS7 3.项目持续交付脚本
- 支付宝错误提示: sign check fail: check Sign and Data Fail JSON also