0914小米笔试-算法卷

选择题考的比较杂,花了30几分钟写完,过程很曲折,很多都是蒙的。

小米编程题处理输入输出比较麻烦,所以选择用python写。
编程题第一题:给一个数组Array,一个整数x。每次用x减去数组头或者数组尾,求使得x为0的最小操作次数。否则返回-1。
感觉是考察前缀子串和,用两个数组分别记录 A的正序前n个元素和、A的逆序前n个元素和。然后暴力即可。
A = input().split(",")
A[0] = A[0][1:]
A[-1] = A[-1][:1]
A = [int(x) for x in A]
# print(A)

n = int(input())
x = int(input())

B, C = [], []
summary = 0
for i in range(len(A)):
    if i == 0:
        B.append(A[i])
    else:
        B.append(A[i] + B[-1])

summary = 0
for i in reversed(range(len(A))):
    if i == len(A) - 1:
        C.append(A[i])
    else:
        C.append(A[i] + C[-1])

# print(B)
# print(C)
res = 1e9
for i in range(len(B)):
    for j in range(len(C)):
        if B[i] + C[j] == x:
            res = min(res, i + j + 2)
        elif B[i] + C[j] > x:
            break
if res == 1e9:
    print("-1")
else:
    print(res)



编程题第二题:坑爹的模拟题。求两个数组的线性卷积、相关性。题目很简略,就两个公式。然后样例没有解释。
其中线性卷积倒是比较容易理解,相关性搞了我十多分钟才搞明白,看题目看了20分钟。。
花了20分钟在本地写完,过了测试样例。但考试还剩最后一分钟的时,没来得及调试输出格式,所以0分,坑爹啊。
在此强烈吐槽题目的输入和输出。。
# 线性卷积 A[m] = {X[i] * Y[j]} , i + j = m , m >=2
# 互相关 B[m] = {X[i] * Y[j]}, i + j = m, m >=2, j从后往前

X = input().split(",")[1]
X = X.split(" ")
X = [int(x) for x in X]

H = input().split(",")[1]
H = H.split(" ")
H = [int(x) for x in H]

# print(X)
# print(H)

A, B = [], []
# 线性卷积
for m in range(len(X) + len(H) - 1):
    summary = 0
    for i in range(min(m+1, len(X))):
        # print("{}, {}".format(i, m-i))
        if m-i < len(H):
            summary = summary + X[i]*H[m-i]
    A.append(summary)

# 相关卷积
if len(X) > len(H):
    for i in range(len(X) - len(H)):
        H.append(0)
else:
    for i in range(len(H) - len(X)):
        X.append(0)
# print(H)
for m in range(len(X) + len(H) - 1):
    summary = 0
    # print(m)
    for i in range(min(m+1, len(X))):
        j = len(H) - 1 - (m-i)
        # print("{}, {}".format(i, j))
        if j >=0 and j < len(H):
            summary = summary + X[i]*H[j]
    B.append(summary)
    # break

print(len(A), end=",")
for i in A:
    print(i, end=" ")
print("")
print(len(B),end=",")
for i in B:
    print(i, end=" ")



#秋招笔试##小米23秋招笔试认真的吗#
全部评论
我第二题也是,有个小bug没时间调试了😭
点赞 回复 分享
发布于 2022-09-15 18:23 湖北
第一次见这种输入的,纯粹就是给你找点事干
点赞 回复 分享
发布于 2022-09-15 10:48 北京
同第二题写完没时间调试,过了0
点赞 回复 分享
发布于 2022-09-15 10:33 北京
请问能解释一下j为什么要这么取值吗?
点赞 回复 分享
发布于 2022-09-14 22:00 北京
我第二题调了np.convolve实现卷积,然后相关是自己写的,过了67%
点赞 回复 分享
发布于 2022-09-14 21:57 浙江
选择题考察广度拉满😂
点赞 回复 分享
发布于 2022-09-14 21:45 新加坡
真就一样!
点赞 回复 分享
发布于 2022-09-14 21:33 安徽
做完选择题,就只剩下30多分钟做编程题了,结果最后一道题把题目看懂后,写完输入输出后就要交卷了。
点赞 回复 分享
发布于 2022-09-14 21:06 广东
好强,我就随便做了做,最后一题直接空了,我好菜
点赞 回复 分享
发布于 2022-09-14 20:57 陕西
第一题写程序十分钟~写输入调到最后都没写好😅
点赞 回复 分享
发布于 2022-09-14 20:31 英国

相关推荐

原神的项目,之前一直在做米的在研的一个PCG项目的测试,做的很反胃,主要是平时上班已经很累了,还要做这个其实难度不是很高但是感觉纯体力活的测试,做的怀疑人生,做到一半,Houdini的部分基本上完成了就交了,引擎方面基本没处理,真的做阳痿了,给了后续优化的思路的文档。言归正传,原神为啥先面了,明明是最后才发的测试,因为那边hr说简历很合适,想先面着看下,测试应该是免测了,面之前我就感觉其实不是很合适,因为问了hr那边说是角色管线,我说我是场景管线,我的经验都是场景的经验,但是那边还是建议我先面着。那就面了,然后面试的话,流程和其他公司差不多。面的是工具向TA。自我介绍(好久没自我介绍一上来忘了自己是谁了。。。这个环节卡了好久才找回感觉。)对着简历问,问实习,问场景题,问作品,问平时学习。大概这样,没问八股。结果也是不出所料,感觉两边都挺尴尬的,那边说觉得我这边技术没什么问题。虽然没后文,但是我能猜到,就是经验不匹配的问题,包括沟通也是有提到说如果转方向的话,会怎么怎么样之类的。我这边也是,在等别的项目的流程,米只能一次进一个流程,我更希望进崩铁,但是崩铁给的岗位测试是CG特效(测试题意外的很难。。。误判了,第一眼感觉挺简单,实际上做的时候发现各种困难。)但是最近Houdini也是越用越顺手,感觉CG特效也不是不行。我回去补一补特效方面的知识。面试结果还没出,感觉一般不会这么久不给结果啊,不合适直接挂,合适就过,一面没有说还要横向对比的吧。能进原也好,只要能摆脱我的NPD&nbsp;Leader啥都好说(但是感觉他最近没那么发癫了,有点动摇了🥲,因为秋招做测试真的太累了。)
查看2道真题和解析
点赞 评论 收藏
分享
08-09 12:47
郑州大学 Java
点赞 评论 收藏
分享
评论
6
20
分享

创作者周榜

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