搜狗笔试: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)

#搜狗##笔试题目#
全部评论
吐了,题目描述里不是说不用定义吗???
3 回复
分享
发布于 2020-09-25 20:52
比较坑的就是Interval类需要自己定义,系统没给啊,自测才看出来。
点赞 回复
分享
发布于 2020-09-25 20:36
阅文集团
校招火热招聘中
官网直投
可以问一下第一题是什么吗,我做完有点忘记了,谢谢
点赞 回复
分享
发布于 2020-09-25 20:39
请问第一题能给详细的讲一下嘛
点赞 回复
分享
发布于 2020-09-25 20:49
最后一个end=k是不是有点问题?
点赞 回复
分享
发布于 2020-09-25 22:04
能说下第一个的思路吗
点赞 回复
分享
发布于 2020-09-25 22:16
第一题先算出相同的个数same,然后对n,k进行分析,思路比较乱,只a了0.6
点赞 回复
分享
发布于 2020-09-25 22:21
有收到面试嘛?
点赞 回复
分享
发布于 2020-10-09 17:26

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务