如何判断是否中奖
摘要:
如何判断是否中奖问题描述:假设开奖结果为:A B C,A、B、C可能相同也可能不同,抽奖结果为:X Y Z,X、Y、Z可能相同也可能不同。如何判断A B C与X Y Z有多少个相同的数字。本质上是求两个集合的交集。交集操作:1) 直观的做法:针对集合2种的每个元素,查找其在集合1种是否出现了,如果出现则纳入集合3。对集合2种的元素操作完后,对得到的集合3进行去重,即为交集。如果是顺序查找则时间复杂度是O(M*N)——实现1如果是二分查找,二分查找的前提是排序,则时间复杂度是O(N*logN)或O(M*logM)。 2)改进的做法:分别对集合1、2排序,顺序扫描,进行判断,对匹配的元素纳入交集。 阅读全文
posted @ 2013-06-20 22:45 unixfy 阅读(376) 评论(0) 推荐(0)
浙公网安备 33010602011771号