8.27 360笔试

试卷:技术综合H卷
话说为什么8.27笔试了 我今天又收到了360的笔试邀请???

选择题覆盖的比较广:
IO多路复用、tree前序中序后序、ReLU激活函数、KMP算法、时间复杂度计算、bayes,http\tcp、概率论、图像识别3中方法

进程与程序区别:
(1)程序是永存的;进程是暂时存在的。即进程是有生命周期的,创建,执行,撤销等。
(2)程序是静态的观念,进程是动态的观念;、
(3)一个程序可对应多个进程; 一个进程可以执行一个程序或多个程序
(4)进程具有并发性,而程序没有;
(5)进程是竞争计算机资源的基本单位,程序不是。

线性表顺序存储插入和删除新节点时平均移动次数:
n个元素
插入:有n+1个位置,移动元素的次数分别为n,n-1,n-2,...1,0,所以共为n*(n+1)/2,平均为n/2。
删除:n个位置删除,每个位置移动的次数分别为n-1,n-2,...0,所有共为(n-1)*n/2,平均为(n-1)/2。

编程:
1. 小明在看一个主播,有很多人给主播送礼物,并且各粉丝会根据最近七天内所送礼物的总价值进入排行榜。每天结束的时候,排行榜的榜一会获得一个称号。小明想要一直占据这个称号一段时间,并且他拥有预知未来的能力,可以知道如果他去争夺这个称号,其他粉丝每天分别会刷的礼物的价值。显然,根据这可以计算出小明为了占据该称号一共需要刷多少价值礼物,但小明的数学非常差,因此这个任务就交给你啦!当出现几个人并列榜一时,称号会随机给他们中的一个。为了确保获得称号,小明需要自己的七日内礼物总价值比其他人都至少多1。在第一天之前,主播已经七天没有开播,榜单为空。
输出小明需要送的礼物价值。第一行输入为天数与多少其他粉丝。
思路:算一个每天的最大的累积的和,然后再遍历的时候只需要多1即可。
# 8 1
# 1
# 2
# 3
# 4
# 5
# 6
# 7
# 8
# output 38

n, m = map(int, input().split())
arr = [[0 for _ in range(n)] for _ in range(m)]
for i in range(n):
    nums = list(map(int, input().split()))
    for j in range(m):
        arr[j][i] = nums[j]
for i in range(m):
    for j in range(1, n):
        arr[i][j] += arr[i][j-1]
for i in range(m):
    for j in range(n):
        arr[0][j] = max(arr[0][j], arr[i][j])
suma = arr[0][0] + 1
for i in range(1, n):
    suma += arr[0][i] - suma + 1
print(suma)

2. 小A的英语考了个不及格,老师很生气,并且发现他英语的语法几乎全错!于是老师决定好好教教他英语语法。老师想先从句子结构开始教他。一个句子至少需要包含主谓结构,即主语和谓语,并且主语在前,谓语在后。有些句子会在谓语后面加上宾语。避免复杂,本题中句子的顺序严格按照主语-谓语-宾语的顺序(即无宾语前置和倒装等情况)。老师给了小A三张单词表,分别是主语单词表、谓语单词表和宾语单词表。老师要让小A用这些单词表中的单词来造句,并且规定:谓语有且仅有一个单词,主语和宾语可以包含任意个单词(主语不可为空)。老师暂时不想让小A造出能保证意思通顺的句子,他只想让小A能够学会基本的句子结构就行。现在,小A根据这些单词造了m条句子,现在假设你是老师,你需要判断每条句子是否符合上述句子结构。
思路:统计就行了
# 3 3 3
# i you he
# am is are
# yours his hers
# output NO NO NO

# 5
# i am yours
# you is his
# he are hers yours
# i am am yours
# is his
# #########output YES YES YES NO NO
n1, n2, n3 = map(int, input().split())
sub = set(input().split())
verb = set(input().split())
ob = set(input().split())
m = int(input())
for i in range(m):
    sent = list(input().split())
    c1, c2, c3, c4 = 0, 0, 0, 0
    ord1, ord2, ord3 = float("-inf"), 0, float("inf")
    for i in range(len(sent)):
        w = sent[i]
        if w in sub:
            c1 += 1
            ord1 = max(ord1, i)
        elif w in verb:
            c2 += 1
            ord2 = i
        elif w in ob:
            c3 += 1
            ord3 = min(ord3, i)
        else:
            c4 += 1
    if c2 == 0&nbs***bsp;c2 > 1&nbs***bsp;c1 == 0:
        print("NO")
    elif ord1 > ord2:
        print("NO")
    elif c3 != 0 and ord3 < ord2:
        print("NO")
    else:
        print("YES")
    continue








#360##360笔试#
全部评论
第一题写的有问题吧 代码输出样例是37不是38
点赞 回复 分享
发布于 2022-09-24 16:57 黑龙江

相关推荐

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