搜狗笔试:0925,AC1.9
class Interval: def __init__(self, a=0, b=0): self.start = a self.end = b class Solution(object): @staticmethod def solve(n, k, str1, str2): """第一题""" same = 0 diff = 0 i = 0 while i < n: if str1[i] == str2[i]: same += 1 else: diff += 1 i += 1 if same == n: start = k end = k else: if k > same: if diff > k: start = 0 else: start = k - diff end = same + n - k elif k <= same: if diff > k: start = 0 else: start = k - diff end = k return Interval(start, end) @staticmethod def rotatePassword(s1, s2): """第二题""" res = "" n = 4 while n > 0: for i in range(len(s1)): for j in range(len(s1[0])): if s1[i][j] == '0': res = "%s%s" % (res, s2[i][j]) trans = [[0 for _ in range(len(s1))] for _ in range(len(s1[0]))] row = len(s1) - 1 for i in range(len(s1)): for j in range(len(s1[0])): trans[i][j] = s1[row - j][i] s1 = trans n -= 1 return res if __name__ == '__main__': res = Solution.solve(5, 1, "ABDDC", "DDDDC") print(res.start, res.end) res1 = Solution.rotatePassword(["1101","1010","1111","1110"],["ABCD","EFGH","IJKL","MNPQ"]) print(res1)
#搜狗##笔试题目#