代码渣渣居然第四范式编程题ak,兴奋之余发一下题解

今年秋招以来,终于有一次代码题ak了……忍不住发下题解,希望各位大佬指正……毕竟我就是个渣滓

这个好像是剑指offer里的一道比较经典的题目了,第一步当然是先print('false')一下,ac60%,然后本来在读数据的时候想用list(map(int, input(),split())),但是这样操作完之后,case正确率从60%降到了40%,猜测可能是这样超时了?于是只能投机取巧:
lst = input().split()
m = int(lst[0])
n = int(lst[1])
mat = []
hav = False
for i in range(m):
    lst = input()
    mat += [lst]
k = int(input())
hav = False
for l in mat:
    l1 = list(map(int, l.split()))
    if l1[0] > k or l1[-1] < k:
        continue
    else:
        for j in l1:
            if j == k:
                hav = True
                break
if hav:
    print('true')
else:
    print('false')
读数据的时候直接input(),然后后面再一行一行查,当然可以用二分查找更快,但是懒得写了【不会写】……反正ac了

思路:维护一个dict记录每个点的颜色,对于每条边的第二个点,如果之前没记录过这个点,就加进去,并且根据第一个点的颜色记录它的颜色;如果有,就看它前面那个点的颜色是不是符合要求,如果不符合直接输出No【为啥我用的list没用dict?因为没用过呗!不熟呗!】统计完所有边之后,因为题里说可能不连通,所以再看看点数是不是跟n一样多
感觉我写的代码有问题,sort的时候没考虑到可能一条边从编号大的点指向编号小的点的情况,不过反正ac了,不管了……
lst = input().split()
N = int(lst[0])
M = int(lst[1])
blist = []
p = []
pn = []
for i in range(M):
    lst = list(map(int, input().split()))
    blist += [lst]
blist.sort()
valid = True
for b in blist:
    if not b[0] in p:
        p += [b[0]]
        pn += [0]
    if not b[1] in p:
        p += [b[1]]
        if pn[p.index(b[0])] == 0:
            pn += [1]
        else:
            pn += [0]
    else:
        if pn[p.index(b[0])] == pn[p.index(b[1])]:
            valid = False
            break
if len(p) < N:
    valid = False
if valid:
    print('Yes')
else:
    print('No')
结束了!
#第四范式##题解#
全部评论
def findNum(arr, k, m, n):     i, j = m-1, 0     while i >= 0 and j < n:         if arr[i][j] == k:             return True         if arr[i][j] > k:             i -= 1         else:             j += 1     return False m, n = map(int, input().split()) arr = [[] for _ in range(m)] for i in range(m):     arr[i] = list(map(int, input().split())) k = int(input()) print(findNum(arr, k, m, n)) 求帮忙看下这样有错吗..谢谢总是显示map(int)时的int报错
点赞 回复 分享
发布于 2018-09-09 16:52
楼主 第二题的 测试用例N = 5, M = 7...下面却只输入了6行..你的和我的一样吗...emm
点赞 回复 分享
发布于 2018-09-09 17:27

相关推荐

02-11 17:51
腾讯_TEG_技术
点赞 评论 收藏
分享
点赞 评论 收藏
分享
2024-12-30 22:31
吉首大学 Web前端
工字钢写代码:改成吉林就OK了
点赞 评论 收藏
分享
评论
点赞
11
分享

创作者周榜

更多
牛客网
牛客企业服务