春招第四次算法面试--小米

小米测开的笔试算法题很简单

1.第一题

题目很简单,给一串小字符串和一个大字符串

判断小字符串能不能拼接成大字符串

def read_every_t():
    n, L = input().split(" ")
    n, L = int(n), int(L)
    s = []
    
    s.extend(input().split(" "))
    print(s)
    assert len(s) == n
    un_use = [True] * n
    mubiao = input()
    index = 0
    has_flag = False
    while True:
        for i in range(len(s)):
            print(s[i], index, len(mubiao))
            if s[i][0] == mubiao[index] and un_use[i]:
                if s[i] == mubiao[index:index+len(s[i])]:
                    un_use[i] = False
                    index += len(s[i])
                    has_flag = True
                    break
        if index >= len(mubiao):
                return True
        elif has_flag == False:
                return False

if __name__=="__main__":
    t = int(input())
    for _ in range(t):
        is_ok = read_every_t()
        if is_ok:
            print("True")
        else:
            print("False")

2.第二题

题目,给出一个数组 [2,3,4,5,7,11,15,17,19,...,an] 是必须呆在山上的天数

n 是能在山上待的天数

求最少上下山几次

# 1 上
# 6 下
# 9 上
# 11 下
n, k = input().split(" ")
n, k = int(n), int(k)
days = list(map(int, input().split(" ")))
# print(days)
assert n == len(days)
the_day_under = days[-1] - k
# print(the_day_under)
heap = []
for i in range(1, len(days)):
    free_days = days[i] - days[i-1] - 1
    if free_days > 0:
        heap.append(free_days)

heap = sorted(heap, reverse=True)
for i in range(len(heap)):
    the_day_under -= heap[i]
    if the_day_under <= 0:
        print((i+2) * 2)
        break

25年春招笔试面试记录 文章被收录于专栏

记录一下春招的笔面试

全部评论

相关推荐

04-02 17:24
已编辑
沈阳工业大学 Java
一.基础内容-base:北京-部门以及业务:手机事业部,小米手机的相机开发-主要开发语言:java-时间:2024.10.09-时长:70min二.内容面试官很严谨确认一下岗位信息自我介绍介绍做过项目中最有亮点的,(介绍一个旅游险业务的实习项目,介绍一下自我项目的算法优化)异步并发时,如何保证多线程访问的数据一致性-加CAS都有哪些实现锁的处理:syn、lock、CAS锁升级过程讲一讲CAS一定有自旋吗?CAS底层如何实现的?具体到操作系统层面是怎么回事?你刚才提到unsafe,那unsafe在硬件角度来说,是不是原子操作,如果是,都有啥功能?动态代理和静态代理区别动态代理都如何实现的?JDK实现方式和cglib这两种方式实现代理的过程中,效率谁更高一点?linux命令vim文件时如何快速查找字符串(忘记了)http和https的区别(感谢面试官没疯狂问我底层的东西)https的加密过程详细说一下?你说这么多,你认为https加密过程是非中心对称还是中心对称?哪你认为非中心对称和中心对称分别如何在https中实现的?那你说一下http三次握手、http四次挥手?为什么是三次握手,两次不行吗?请求超时怎么办?四次挥手的时候,为什么要发两次fin请求,一次不行吗?你了解过为什么客户端关闭要等2msl吗?(这我真不知道,他难为鼠鼠了,我就说硬性规定吧)http的状态码都有哪些?(估计看我不会了,问点简单的)400是什么意思-表示服务器无法理解客户端发送的请求你了解树这种数据结构吗?都有哪些树你提到红黑树和平衡树,我问你,两者有什么区别,如果你在不同应用环境下,如何对两者进行选择?树的遍历方式arrayList的扩容机制arrayList是线程安全的吗?会存在什么问题?如何解决这个问题?COW是什么东西?如何实现的?用过哪些设计模式三.手撕(10min)生成括号(回溯mid)(AK)反问:1.流程:三次面试,本次第一轮技术面2.表现:没啥问题,基本功扎实,算法做的也可以,说有很多候选人,会最后排个名次。最终:通过==============欢迎大家关注鼠鼠,鼠鼠会陆续发一下面经(都是真实发生的)、一些学习经验、以及通过生动、巧妙的方式,去更好的理解难记住、易忘的知识!#小米##双非应该如何逆袭?##双非有机会进大厂吗#
点赞 评论 收藏
分享
评论
5
10
分享

创作者周榜

更多
牛客网
牛客企业服务