从调用的函数来看,这个计算分数的函数本质做的就是一个遍历匹配的操作。有几个要求的味道就到提供的味道里找,找到一个加一分。
听楼主可能想要的是一种空间换时间的做法?
如果瓶颈是在这里的话,可以考虑优化一下这部分,考虑一下位运算?
虽然不知道这个游戏它能不能支持位运算,也不知道能支持的最长数字是多少哈

将每种味道抽象成二进制的一位,假设一共有三种味道,那这个味道可以表示成一个三位二进制数,我们假设有 ABC 三个味道
假设料理的味道是 BC,你要的味道是 AC,
料理的味道可以表示成 011,你要的味道可以表示成 101
011 十进制表示是 3,101 十进制表示是 5,两者按位做与运算,得到 001。
这个结果中有多少个1,就是你要的味道的匹配程度,也就是你的分数。
计算分数可以用取余运算,余数是 1 的时候,你的总分加 1,然后循环这个过程,直到余数为 0。
附带一个简单的代码示例
使用这个方法的话,需要建立一个味道和位数的匹配映射关系,并提前进行料理的味道数值计算
不过这种方法解决不了有重复味道的情况。或许可能还是得另寻出路吧


