刷个宇宙题:剑指 Offer II 004. 只出现一次的数字、005. 单词长度的最大乘积

题目

刷个宇宙题:剑指 Offer II 004. 只出现一次的数字、005. 单词长度的最大乘积_第1张图片

思路&题解

第一思路,遍历数组记录每个数字出现的次数,发现用多了Qt,C++自己的map有点忘了,疯狂使用QMap和key value,ahhhh
刷个宇宙题:剑指 Offer II 004. 只出现一次的数字、005. 单词长度的最大乘积_第2张图片

看解答区:

依次确定每个二进制位:对于出现三次的数字,各 二进制位 出现的次数都是 3 的倍数
刷个宇宙题:剑指 Offer II 004. 只出现一次的数字、005. 单词长度的最大乘积_第3张图片
pass先 我现在只想能坚持下来 每天打开一点点思路

005. 单词长度的最大乘积

刷个宇宙题:剑指 Offer II 004. 只出现一次的数字、005. 单词长度的最大乘积_第4张图片

一些思路和理解

简单看一眼题解,都是用到了26位掩码,通过比较掩码是否相等的方式得到字符串中是否有一样单词,那问题是如何得到每个单词的掩码,注意max的用法,要保证两个参数是int类型,否则这个函数就会报错
刷个宇宙题:剑指 Offer II 004. 只出现一次的数字、005. 单词长度的最大乘积_第5张图片

masks[i] |= 1 << (word[j] - ‘a’);的理解

刷个宇宙题:剑指 Offer II 004. 只出现一次的数字、005. 单词长度的最大乘积_第6张图片

你可能感兴趣的:(刷题新航路!,算法)