LeetCode 318. 最大单词长度乘积(位运算)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 318. 最大单词长度乘积(位运算)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1. 題目
給定一個(gè)字符串?dāng)?shù)組 words,找到 length(word[i]) * length(word[j]) 的最大值,并且這兩個(gè)單詞不含有公共字母。你可以認(rèn)為每個(gè)單詞只包含小寫字母。如果不存在這樣的兩個(gè)單詞,返回 0。
示例 1: 輸入: ["abcw","baz","foo","bar","xtfn","abcdef"] 輸出: 16 解釋: 這兩個(gè)單詞為 "abcw", "xtfn"。示例 2: 輸入: ["a","ab","abc","d","cd","bcd","abcd"] 輸出: 4 解釋: 這兩個(gè)單詞為 "ab", "cd"。示例 3: 輸入: ["a","aa","aaa","aaaa"] 輸出: 0 解釋: 不存在這樣的兩個(gè)單詞。來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/maximum-product-of-word-lengths
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
2. 位運(yùn)算
- 將字符串的比較轉(zhuǎn)換成數(shù)字的比較
- 題目說只有小寫字符,那最多只有26位,用32位的 int 的每一位 bit 記錄一個(gè)字符串是否包含某種字母
- 然后雙重for循環(huán),比較各字符串對(duì)應(yīng)的數(shù)值的 & 操作值 是否等于0(各 bit 都不同,即字符都不同)
總結(jié)
以上是生活随笔為你收集整理的LeetCode 318. 最大单词长度乘积(位运算)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 357. 计算各个位数
- 下一篇: LeetCode 1382. 将二叉搜索