如何使用java实现最大单词长度乘积

免费建站   2024年03月29日 21:10  

本文将为大家详细介绍“如何使用java实现最大单词长度乘积”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“如何使用java实现最大单词长度乘积”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体内容如下,一起去收获新知识吧。

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

示例1:

输入: ["abcw","baz","foo","bar","xtfn","abcdef"]输出: 16解释: 这两个单词为 "abcw", "xtfn"。

示例 2:

输入:输出:这两个单词为。

示例 3:

输入:输出:

答案:

1publicstaticintmaxProduct(String[]words){ 2int[]mask=newint[words.length]; 3intresult=0; 4for(inti=0;i<words.length;++i){ 5for(charc:words[i].toCharArray()) 6mask[i]|=1<<(c-'a'); 7for(intj=0;j<i;++j) 8if((mask[i]&mask[j])==0) 9result=Math.max(result,(words[i].length()*words[j].length()));10}11returnresult;12}

解析:

这种解法非常简单,代码也很简洁,这里有个巧妙的地方是把单词用比特位来表示,因为int类型在java语言中是32位,而小写单词只有26个,所以用int位来存储足够了。第8行如果与运输的结果是0,就表示这两个单词没有相同的字母。如果有的话,那么在某一相同的位上肯定都为1,结果肯定不是0,代码很容易理解。

Java可以用来干什么

Java主要应用于:1. web开发;2. Android开发;3. 客户端开发;4. 网页开发;5. 企业级应用开发;6. Java大数据开发;7.游戏开发等。

感谢您能读到这里,小编希望您对“如何使用java实现最大单词长度乘积”这一关键问题有了从实践层面最深刻的体会,具体使用情况还需要大家自己动手实践使用过才能领会,如果想阅读更多相关内容的文章,欢迎关注行业资讯频道!

域名注册
购买VPS主机

您或许对下面这些文章有兴趣:                    本月吐槽辛苦排行榜

看贴要回贴有N种理由!看帖不回贴的后果你懂得的!


评论内容 (*必填):
(Ctrl + Enter提交)   

部落快速搜索栏

各类专题梳理

网站导航栏

X
返回顶部