Leetcode 299.猜数字游戏
299. 猜数字游戏
解题思路:
这题公牛是比较好求的,遍历secret和guess判断对应字符是否相等即可,但是奶牛的思路需要转换,题目中的含义是数字猜对但是位置不对,这里可以分为两种情况。
- 在对应位置上不相同时,secret中该数字的出现次数比guess少,这时对于guess来说只能填补secret字符中该数字的个数,guess多出字符无用,所以结果应取secret中该数字的次数
- 在对应位置上不相同时,secret中该数字的出现次数比guess多,这时对于guess来说只能填补自身数量的secret字符,secret多出字符无用,所以结果应取guess中该数字出现的次数
综上所述其实可以把奶牛的求解通过这样的方式:用哈希表arr1和arr2分别存储secret和guess中对应数字的存储次数,而后对于每个数字来说求arr1与arr2中对应数字的最小值,其的和为奶牛的个数。
以下是C++代码:
1 | class Solution { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 风之歌!
评论