题解 | 翻之

翻之

https://www.nowcoder.com/practice/98204dce2782410a822ac53c5025b88a

关键在于对题目进行逻辑分析,根据分析可知:

1、当两列元素或元素构成的字符串相同时,才能通过行元素反转颠倒变换,使得两列元素相同。

2、题目寻找的最大相同列或最大相同列元素字符串数量。

n, m = map(int, input().split())
matrix = [input() for _ in range(n)]#输入数据
def getresult(n,m,matrix):
    dic = dict()#字典存储列构成的字符串,列字符串:数量
    for i in range(m):
        s = ''
        for j in range(n):
            s += matrix[j][i]
        dic[s] = dic.setdefault(s,0)+1#如果列字符串已存在则加一,否则列表添加列字符串元素,初始值为零并加一
    return sorted(dic.values())[-1]#返回最相同的列字符串数量
print(getresult(n,m,matrix))

全部评论

相关推荐

头像
08-28 09:05
门头沟学院
投递美团等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务