|
发表于 2019-10-25 20:48:02
|
显示全部楼层
本帖最后由 阴阳神万物主 于 2019-10-25 21:26 编辑
我有点迷了,不是说
吗?那么 示例2 不该是返回的 True 吗?
A:'ABCD' B: 'AABC' 不该是包含了吗?B 里面并没有出现不属于 A 的字母啊。
即便如此,还是让我有点想回答呢,于是(代码中有着吐槽……)
- def solve_alpha(A:str,B:str)->bool:#没有数量上的比较,仅仅针对关键词“包含”
- a = set(A)
- b = set(B)
- if len(b)>len(a):#好像多了些什么
- return False
- else:
- for each in b:
- if each not in a:#有奇怪的东西混进去了
- return False
- return True
- def solve_bata(A:str,B:str)->bool:#有数量上的比较,这样的话 A 更像是仓库的感觉
- b = set(B)
- if len(b)>len(set(A)): #多了些东西啊喂!
- return False
- else:
- for each in b:
- if B.count(each) > A.count(each):#残念,客人萨玛,存量不足啊……
- return False
- return True
- #预防万一,我理解到的两种情况都写了
- #校验者看着办吧,画圈圈……
- if __name__ == "__main__":
- #alpha,虽然我倾向于这个……
- #print("示例1 输出:",solve_alpha("ABCD","ACD"))
- #print("示例2 输出:",solve_alpha("ABCD","AACB"))
- #bata,但是这个好像保险点……
- print("示例1 输出:",solve_bata("ABCD","ACD"))
- print("示例2 输出:",solve_bata("ABCD","AACB"))
-
复制代码
|
评分
-
查看全部评分
|