腾讯笔试0426

这么多大佬都用的C++吗?
我一个Python 狗来啦,一共375%
1,队列,100%
t = int(input())
for _ in range(t):
    q = int(input())
    list1 = []
    for _ in range(q):
        line = input()
        if line[0:4] == 'PUSH':
            x = int(line.split()[-1])
            list1.append(x)
        if line[0:3] == 'TOP':
            if len(list1): print(list1[0])
            else: print(-1)
        if line[0:3] == 'POP':
            if len(list1): del list1[0]
            else: print(-1)
        if line[0:4] == 'SIZE':
            print(len(list1))
        if line[0:5] == 'CLEAR':
            list1 = []
2,两点距离,0%,暴力竟然没分,因为超时改用贪心也没过
def Distance(a0,a1,b0,b1):             #返回数据类型为float浮点数
    return ((a0-b0)**2+(a1-b1)**2)**0.5

t = int(input())
for _ in range(t):
    n = int(input())
    if n>10**4:
        print("%.3f"%0)
        break
    a_x, a_y, b_x, b_y = [0]*n, [0]*n, [0]*n, [0]*n
    for i in range(n):
        a_x[i], a_y[i] = map(int, input().split())
    for i in range(n):
        b_x[i], b_y[i] = map(int, input().split())
    # print(a_x, a_y)
    res = float('inf')
    # for i in range(n):
    #     for j in range(n):
    #         if abs(a_x[i] - b_x[j]) >= res&nbs***bsp;abs(a_y[i] - b_y[j]) >= res:
    #             continue
    #         res = min(res, Distance(a_x[i], a_y[i], b_x[j], b_y[j]))
    #         if res == 0: break
    #     if res == 0: break
    i, j = 0, 0
    res = Distance(a_x[i], a_y[i], b_x[j], b_y[j])
    while i<n-1 and j<n-1:
        if Distance(a_x[i+1], a_y[i+1], b_x[j], b_y[j]) < res:
            res = Distance(a_x[i+1], a_y[i+1], b_x[j], b_y[j])
            i += 1
            continue
        if Distance(a_x[i], a_y[i], b_x[j+1], b_y[j+1]) < res:
            res = Distance(a_x[i], a_y[i], b_x[j+1], b_y[j+1])
            j += 1
            continue
        i += 1
        j += 1


    print("%.3f"%res)


3,翻牌子,100%,遇到错的就翻,竟然ac了!!!!
n = int(input())
a = list(map(int, input().split()))
b = list(map(int, input().split()))

def change(i,j):
    a[i], b[j] = b[j], a[i]
    a[j], b[i] = b[i], a[j]

def judge(s):
    for i in range(len(s)-1):
        if s[i] > s[i+1]:
            return i
    return -1

# print(judge(a))
res = 0
while judge(a) != -1:
    index = judge(a)
    change(index, index+1)
    res += 1
    if res > n**2:
        res = -1
        break
print(res)


4,队列,75%,说实话没怎么看懂怎么用两个栈去搞,瞎写的有着成绩不错了
n = int(input())
list1 = [0]*10**6
head = 0
tail = 0
for _ in range(n):
    line = input()
    if line[0:3] == 'add':
        x = int(line.split()[-1])
        list1[tail] = x
        tail += 1
    if line[0:4] == 'poll':
        head += 1
    if line[0:4] == 'peek':
        print(list1[head])


5,完全二叉树,100%

def f(i):
    res = 0
    while i:
        res += 1
        i = i >> 1
    return res

q = int(input())
for _ in range(q):
    x, y = map(int, input().split())
    # print(x, y)
    ce = f(x)
    if y >= ce:
        print(-1)
    else:
        for _ in range(ce - y):
            x = x >> 1
        print(x)


#腾讯笔试##笔试题目##腾讯#
全部评论
420,第三题一直往状压dp上想,然后发现交换顺序也得表示,开不了那么大的数组了,心态爆炸写了发dfs搜索拿了20%就交了
点赞 回复 分享
发布于 2020-04-27 10:37
3 题感觉贪心好假,这还能100%😂,感觉如果在cf上就是给同room用来hack涨分的(还是我理解错题意了? 3 10 9 2 9 10 1 10 1 10 9  2 9 2 9 10 1 10 9
点赞 回复 分享
发布于 2020-04-27 10:33
我第一大题和你写的一样,自测也过了,就是最后0%,心态爆炸
点赞 回复 分享
发布于 2020-04-26 23:45
请教一下,第五题的求完全二叉树中某个节点的祖先节点,我是直接用log(x)+1求节点所在层,和你写的f函数有什么不同吗
点赞 回复 分享
发布于 2020-04-26 23:17
第二题好坑啊,一直停在那里,老是0,但是找不到原因。没想到第三题被你这样一说这么简单,我去,我凉凉了
点赞 回复 分享
发布于 2020-04-26 23:03
唉,第二题暴力能拿60的,我想看看有没有100的
点赞 回复 分享
发布于 2020-04-26 22:55
求lz看下我的问题,本地能过但结果0 t = int(input()) ret = [] qq = [] qq.append(0) res = [] for i in range(t):     q = int(input())     qq.append(q)     for _ in range(q):         s = input()         ret.append(s.split()) for i in range(t):     for j in range(qq[i+1]):         if len(ret[j+qq[i]]) == 2:             res.append(ret[j+qq[i]][1])         else :             if ret[j+qq[i]][0] == 'TOP&(5857)#39;:                 if len(res) == 0:                     print(-1)                 else:                     print(res[0])             if ret[j+qq[i]][0] == 'POP&(5858)#39;:                 if len(res) == 0:                     print(-1)                 else:                     res.pop(0)             if ret[j+qq[i]][0] == 'SIZE&(5859)#39;:                 print(len(res))             if ret[j+qq[i]][0] == 'CLEAR&(5860)#39;:                 res = []     res = []
点赞 回复 分享
发布于 2020-04-26 22:52
不错~~
点赞 回复 分享
发布于 2020-04-26 22:45

相关推荐

2025-12-08 16:04
门头沟学院 Java
本人本科末9,今年大三。大一大二一直玩,什么都没学到,在大学混日子混了两年,每天不是在打农就是在steam。大三开学时一个和自己玩的好的同学去实习了,才发现自己白白浪费了两年的时间,如果真不冲一下就真去京东,阿里,美团送外卖了今年9月份开始学Java,一开始一直跟着黑马视频看,后面发现看视频效率太低了,时间根本不够,就开始主要看文档和看书了。这几个月一直在学,真的尽力了,希望暑期前能找一份好点的实习。我简历上面的项目大多没有指标,但是实际上我是真没多少时间去做项目,我基本主要是动手只做了外卖和天机,黑马点评和12306我都是只是看了项目。主要是自己的时间真的不多,但是这样子自己的代码能力确实比较差。而且自己也没有做过实际的工程,我顶多用jmeter测试一下接口tps啥的,比如使用Redis管道提升了一点性能,减少Redis交互,这种值得写上去吗?需不需要具体到某些数字求求各位佬给一些建议,看看简历怎么优化?项目介绍是不是不够详细?没有具体到业务方面。项目会不会提到大致实现原理导致面试官一看简历就知道怎么实现就没有问的欲望?专业技能一些字段是不是要加粗,是不是写太啰嗦了?有没有必要压缩内容变成一页?两页的话是不是都要把两页填地满满的。
给秋招一个交代:一页简历最好,网上做的项目放面试官眼里都是玩具,简历上不需要强调有什么难点,记住就行防止真的问。然后背八股,多投多面试就行
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

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