华为330笔试 前两题Python版

据说只要100分就过笔试啦
A了两题直接溜了,第三题等大佬们的题解啦。
抛砖引玉的前两题Python解法
#芯片
def func():
    M = int(input())
    N = int(input())
    alist = list(map(str, input().split()))
    rest = [0] * M
    j = 0
    mark = 0
    for i in range(len(alist) - 1):
        if alist[i] == 'B':
            while j < M and rest[j] != 0:
                j += 1
            if j < M:
                rest[j] += 4
            else:
                break
        else:
            while mark < M and rest[mark] == 4:
                mark += 1
            if mark < M:
                rest[mark] += 1
            else:
                break

    if alist[-1] == 'A':
        while mark < M and rest[mark] == 4:
            mark += 1
        if mark < M:
            rest[mark] += 1
            print(mark + 1)
            print(rest[mark])
        else:
            print(0)
            print(0)
    else:
        while j < M and rest[j] != 0:
            j += 1
        if j < M:
            rest[j] += 4
            print(j + 1)
            print(1)
        else:
            print(0)
            print(0)

#找路
def func():
    tmp = list(map(int, input().split()))
    m = tmp[0]          #行
    n = tmp[1]          #列
    start = list(map(int, input().split())) #开始
    end = list(map(int, input().split()))   #结束
    count = int(input())
    stop = []
    res = []
    path = []
    for i in range(count):
        tmp = list(map(int, input().split()))   #挡道
        stop.append(tmp[:])

    mark = [[0] * n for i in range(m)]
    for alist in stop:
        i, j = alist[0], alist[1]
        mark[i][j] = 1

    def dfs(i, j, path):
        if i >= m&nbs***bsp;j >= n&nbs***bsp;i < 0&nbs***bsp;j < 0: return
        if i == end[0] and j == end[1]:
            if not res:
                res.append(path[:])
                return
            else:
                if len(path) == len(res[0]):
                    res.append(path[:])
                    return
                elif len(path) < len(res[0]):
                    while res:
                        res.pop()
                    res.append(path[:])
                    return

        if 0 <= i < m and 0 <= j < n and mark[i][j] == 0:
            path.append((i, j))
            mark[i][j] = 1
            dfs(i - 1, j, path)
            dfs(i, j - 1, path)
            dfs(i + 1, j, path)
            dfs(i, j + 1, path)
            path.pop()
            mark[i][j] = 0

    dfs(start[0], start[1], path)
    print(str(len(res)) + ' ' + str(len(res[0])))


#华为笔试#
全部评论
题目都没有发出来有啥用呢
1 回复 分享
发布于 2022-04-19 16:05
楼主 我也准备考python,python需要啥程度才能过呢?
点赞 回复 分享
发布于 2022-05-11 14:57
总分多少
点赞 回复 分享
发布于 2022-04-12 00:48
楼主有java版吗?
点赞 回复 分享
发布于 2022-04-09 13:03
为什么我还没收到笔试通知😓
点赞 回复 分享
发布于 2022-04-04 23:44
问一下楼主投的什么岗
点赞 回复 分享
发布于 2022-03-30 22:43

相关推荐

搜索部&nbsp;首先说下timeline8.18,投递8.19,约一面8.21,晚上一面call约二面8.22,上午二面下午oc周末等待(8.23,8.24)8.25,offer一年前,我还是懵懵懂懂,高考完的暑假,只会提前学学高数,未来的画像是什么?我或许无法预测。开学后,自学Python,接单,无数个客户的ddl,偷偷摸摸一个人找自习的地方,这一步步竟然为后来的我,搭建工程能力的基础。大一上,我也要感谢我的第一位老板,让我接触到了实习,师兄带着我一步步入门,看他们写的飞书文档。大一下,导师带我参与企业项目,这让我渐渐发现,应该去实践,增长见识,而非局限当下,盯着自己的小新pro。不久后,第一波投递开始,结果当然是约面极少。盯着简历上的文字和ssob,我开始思考,确实很多可以去提升。带着些许不甘心,继续沉淀,慢慢的约面也越来越多,有的时候两天7场,准备完就接着下一个日程。这一次,也许是刚好到位吧,比较match,面试答的流利,关关难关关过,成为度孝子展望未来,依然是重重挑战,果然只有收到offer的那一刻是开心的。愿在百度星海拆解的每一段代码,都能成为丈量宇宙的诗行;此志终赴星河,而今迈步重铸天阶。屏幕前的你们,在无数个向星海奔赴的日夜,一定一定,会在未来化作群星回响的征程——请永远相信此刻埋首耕耘的自己!!!
一天三顿半:???百度提前批发 offer了?不是统一和正式批排序完再发吗我靠
百度求职进展汇总
点赞 评论 收藏
分享
评论
6
40
分享

创作者周榜

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