贝壳开发笔试 AC 3.0

1.遍历一次字符串即可 AC
n=int(input())
s=input()
res=0
for i in range(len(s)):
    if i==len(s)//2:
        break
    if s[i]!=s[-1-i]:
        res+=1
print(res)

2.求最小的公因数 ,python暴力过了 80%
l=int(input())
for _ in range(l):
    m,n=map(int,input().split())
    if m==1 and n==1:
        print(1)
        continue
    for i in range(2,int(1e8+5)):
        if m*n%i==0:
            print(i)
            break

3.数据太水,暴力AC
n=input()
a=list(map(int,input().split()))
res=1e9+10
t=0
for i in range(len(a)):
    t|=a[i]
res=1e9+10
for i in range(len(a)):
    now=0
    for j in range(i,len(a)):
        now|=a[j]
        if now==t:
            res=min(res,j-i+1)
            break
print(res)

4.感觉自己思路是对的,实际AC 0.2,求大佬指点代码。
def q(n):
    if n<=0: return 1
    return n*q(n-1) if n!=1 else 1
def f(j,i):
    if i==0&nbs***bsp;j==0: return 1
    return q(j)//(q(i)*q(j-i)) if i!=j else 1
n,m=map(int,input().split())
g=[[] for _ in range(n)]
for _ in range(m):
    v,b,c,x=map(int,input().split())
    tt=f(c,x)
    g[v-1].append((b-1,tt))
    g[b-1].append((v-1,tt))
res=-1
def dfs(now,s,p,b):
    global res
    if p==(1<<n)-1:
        for k,l in g[now]:
            if k==b:
                res=max(res,s+l)
        return
    for x,val in g[now]:
        if (1<<x)&p!=0:
            continue
        dfs(x,s+val,p|(1<<x),b)
for i in range(n):
    dfs(i,0,0|(1<<i),b)
print(res if res==-1 else res%(10**9+7))


#笔试题目##贝壳找房#
全部评论
和我一模一样,也是1,0.8,1,0.2😂
点赞 回复 分享
发布于 2020-08-11 21:40

相关推荐

11-01 08:48
门头沟学院 C++
伤心的候选人在吵架:佬你不要的,能不能拿户口本证明过户给我。。球球了
点赞 评论 收藏
分享
Yushuu:你的确很厉害,但是有一个小问题:谁问你了?我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了😆
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务