码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode299

时间:2019-10-04 17:00:18      阅读:57      评论:0      收藏:0      [点我收藏+]

标签:style   range   leetcode   pre   str   出现   min   int   elf   

 1 class Solution:
 2     def getHint(self, secret: str, guess: str) -> str:
 3         n1 = len(secret)
 4         n2 = len(guess)
 5         A,B = 0,0
 6         dicA,dicB= {},{}
 7         for i in range(n1):
 8             cur = secret[i]
 9             tar = guess[i]
10             if cur == tar:
11                 A += 1
12             else:    
13                 if cur not in dicA:
14                     dicA[cur] = 1
15                 else:
16                     dicA[cur] += 1
17                 if tar not in dicB:
18                     dicB[tar] = 1
19                 else:
20                     dicB[tar] += 1
21         for k,v in dicB.items():
22             if k in dicA:
23                 B += min(v,dicA[k])
24         return str(A) + A + str(B) + B

两次遍历,第一次先计算A,如果对应位置的字符一样,则A+1;如果对应位置的字符不同,则分别计算两个串不匹配字符的数量。

第二次计算B,在不匹配的字符中,两个字典都出现的,就符合B,其值为这个字符在两个字典中的值较小的。

leetcode299

标签:style   range   leetcode   pre   str   出现   min   int   elf   

原文地址:https://www.cnblogs.com/asenyang/p/11622363.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!