腾讯技术岗823笔试交流(python)

写倒是写出来四题,但是除了第一题有10%之外都是0
翻了一下,好像没有多少python的分享,把自己的贴出来交流一下好了
第一题用了跟栈,找到能匹配的就消掉,但是最后一个用力出来的结果不对,c++的分享里面矩阵的方法不太懂
import sys 
str = sys.stdin.readline()
stack = []
def look(k):
    if k == ")":
        for i in range(len(stack)-1,-1,-1):
            if stack[i] == "(":
                del(stack[i])
                return
    elif k == "]":
        for i in range(len(stack)-1,-1,-1):
            if stack[i] == "[":
                del(stack[i])
                return
    stack.append(k)
for i in str:
    if i == "("&nbs***bsp;i == "[":
        stack.append(i)
    elif i == ")"&nbs***bsp;i == "]":
        look(i)
    print(stack)

print(len(stack))
第二题的面积想了很久跟x轴的交点,出来的数也用round修得跟用例一模一样了,还是0
import sys,math
n = int(sys.stdin.readline())

def fun(x,a,c):
    return a/3*(x**3)+0.5*(x**2) +c*x
def ori(x,a,c):
    return a*(x**2)+x+c

if n>0:
    for i in range(n):
        str  = sys.stdin.readline().split()
        a = int(str[0])
        b = int(str[1])
        c = int(str[2])
        d = int(str[3])
        print(a,b,c,d)
        if ori((-1/(2*a))) <0:
            zero = (-1+math.sqrt(1-4*a*b))/(2*a)
        else:
            zero = None
        print(round(abs(fun(d,a,b)-fun(c,a,b))),5)
d第三题取模,本地都能过但是在线就是0,
做了一个dict,只有一个人的组合是n个,从2-n的话,k人团体的组合数是s = 1+2+3+...+n-k+1(找出来的规律不知道对不对),总和就是1*n +...+k*s +...+n
import sys
n = sys.stdin.readline()
n = int(n)
def cal(k):
    res = 0
    for i in range(1,k+1):
        res += i
    return res
dic = {}
dic[1] = n
for i in range(2,n+1):
    dic[i] = cal(n-i+1)
res = 0
for i in range(1,n+1):
    res += i * dic[i]
    #print(res)
print(res% (10**9+7))
第四题我的思路是把每个点作为key,可以通达的点作为value存到dict里面
然后暴力搜一下每个组合的value值是不是一样
好像有10%的过了,但是后面的超时
import sys
str = sys.stdin.readline().split()
n = int(str[0])
m = int(str[1])
p = dict()
def add_route(x,y):
    if x not in p:
        p[x] = list()
    if y not in p:
        p[y] = list()
    p[x].append(y)
    p[y].append(x)

for i in range(m):
    temp = sys.stdin.readline().split()
    a = temp[0]
    b = temp[1]
    add_route(a,b)

plist = list(p.keys())
#print(plist)
count = 0
def com(x,y):
    return set(x)==set(y)

for i in range(len(plist)):
    for j in range(i+1,len(plist)):
        
        if com(p[plist[i]],p[plist[j]]) == True:
            count+=1

print(count)
第五题看起来跟第四题有点像,可是没时间了,做的话应该会做个dict,然后用动态规划做
感想:看到有全ac的大佬感觉自己已经凉透了,不过有没有同样用python的来分享一下思路:-)


#笔试题目##腾讯#
全部评论
第二题保留六位小数就a了
点赞 回复 分享
发布于 2020-08-23 23:45
第5题感觉是最短路径的算法。可惜我没写出来😴
点赞 回复 分享
发布于 2020-08-24 00:50
第一题和第四题思路跟你一样,同只有10%🤣🤣第四题超时了可以理解,第一题没想明白问题出在哪
点赞 回复 分享
发布于 2020-08-24 09:06
请问lz投的是什么部门呀?
点赞 回复 分享
发布于 2020-09-02 13:43

相关推荐

赏个offer求你了:友塔HR还专门加我告诉我初筛不通过😂
点赞 评论 收藏
分享
10-10 17:54
点赞 评论 收藏
分享
秋招进行到现在终于能写总结了。完全没想到战线会拉这么长,过程会如此狼狈,不过更应该怪自己太菜了。好在所有的运气都用在了最后,也是有个去处。背景:双2本硕科班,无竞赛,本科一段研究所实习,硕士一段大厂暑期实习但无转正。技术栈是C++&nbsp;&amp;&nbsp;Golang,实习是客户端音视频(而且是鸿蒙端开发),简历两个C++项目一个Golang项目。主要投递岗位:后端,cpp软开,游戏服务端,测开,以及一些不拘泥于Java的岗位。从8月起总共投递123家公司,笔试数不清了,约面大约30家。offer/oc/意向:友塔游戏(第一个offer,面试体验很好,就是给钱好少南瑞继保(计算机科班点击就送(限男生),不...
乡土丁真真:佬很厉害,羡慕~虽然我还没有到校招的时候,也想讲一下自己的看法:我觉得不是CPP的问题,佬的背书双2,技术栈加了GO,有两段实习。投了123,面了30.拿到11个offer。这个数据已经很耀眼了。这不也是CPP带来的吗?当然也不止是CPP。至少来说在这个方向努力过的也会有好的结果和选择。同等学历和项目选java就会有更好的吗?我个人持疑问态度。当然CPP在方向选择上确实让人头大,但是我觉得能上岸,至于最后做什么方向,在我看来并不重要。至于CPP特殊,有岗位方向的随机性,java不是不挑方向,只是没得选而已。也希望自己以后校招的时候能offer满满
点赞 评论 收藏
分享
评论
点赞
5
分享
牛客网
牛客企业服务