首页 > 9.8 小米算法笔试,2道来搞笑的编程题
头像
我就是海
编辑于 2020-09-08 20:40
+ 关注

9.8 小米算法笔试,2道来搞笑的编程题

第一题 矩阵相乘

python暴力只过38%,然后用numpy过了,狗头保命。

import numpy as np

def main():
    m, k, n = [int(_) for _ in input().split()]
    A, B = [], []
    for i in range(m):
        A.append([int(_) for _ in input().split()])
    for i in range(k):
        B.append([int(_) for _ in input().split()])

    A = np.asarray(A)
    B = np.asarray(B)


    # for i in range(m):
    #     for j in range(n):
    #         temp = sum([A[i][t] * B[t][j] for t in range(k)])
    #         print(temp, end=' ')
    #     print()

    C = np.dot(A, B)
    for i in range(m):
        for j in range(n):
            print(C[i][j], end=' ')
        print()


if __name__ == '__main__':
    main()

第二题 盒子打包

找最最多相同大小盒子的数量即可
思路,为什么是求众数呢,设众数为x,那么小于x的盒子必然可以被放在某一个大小为x的盒子内(可以间接嵌套),大于x的盒子必然可以包含某一个大小为x的盒子(同样可以间接嵌套),而当大小相同时必然处于不同的打包中。

from collections import Counter

def main():
    n = int(input())
    nums = [int(_) for _ in input().split()]
    counter = Counter(nums)
    ans = 0
    for x, p in counter.items():
        ans = max(ans, p)
    return ans

if __name__ == '__main__':
    print(main())

全部评论

(15) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐