美文网首页
网易 2019 实习生编程题

网易 2019 实习生编程题

作者: vckah | 来源:发表于2018-05-08 22:28 被阅读0次

    网易 2019 实习生的编程题

    • 牛牛找工作

    每个输入包含一个测试用例。
    每个测试用例的第一行包含两个正整数,分别表示工作的数量N(N<=100000)和小伙伴的数量M(M<=100000)。
    接下来的N行每行包含两个正整数,分别表示该项工作的难度Di(Di<=1000000000)和报酬Pi(Pi<=1000000000)。
    接下来的一行包含M个正整数,分别表示M个小伙伴的能力值Ai(Ai<=1000000000)。
    保证不存在两项工作的报酬相同。

    示例:

    3 3   
    1 100 
    10 1000 
    1000000000 1001 
    9 10 1000000000
    

    输出:

    100 
    1000 
    1001
    

    思路:
    用一个字典存储难度和对应的报酬,然后对输入的能力值与难度放在一起,意思就是能力值用不同的难度分开。
    例如 [1, 9, 10, 10, 100, 100],即能力 9 10 100 的能力在难度为 1 10 100 中的位置,可以清楚地看到 9 是小于 难度 10 的,所以 9 的报酬只能为难度 1 对应的报酬。

    from collections import defaultdict
    # 获取工作数量 朋友数量
    jobs, frineds_nu = list(map(int, raw_input().split()))
    i, dp = 0, []
    while i < jobs:
        # 获取工作对应难度和报仇,将其打包为一个列表后存入列表 dp
        v = list(map(int, raw_input().split()))
        if len(v) == 2:
            dp.append(v)
            i += 1
    frineds_ability = []
    while len(frineds_ability) != frineds_nu:
        # 获取朋友的能力
        frineds_ability = list(map(int, raw_input().split()))
    
    # 构造一个字典来存储难度和对应的报酬
    dp = defaultdict(int, dp)
    # defaultdict 不存在的键默认值是 0
    max_ = 0
    # 将朋友能力与工作难度进行排序,后面确定报酬
    abilities = sorted(list(dp.keys()) + frineds_ability)
    
    for i in abilities:
        # 遍历难度,确定能力对应的报酬的最大值,将那些能力大于难度的 能力:报酬 存入 dp
        max_= max(dp[i], max_)
        dp[i] = max_
    for i in frineds_ability:
        print(dp[i])
    

    说实话,用 python 处理输入的情况我用的不是很多,感觉很不舒服,有没有一种比较友好的输入方法。

    • 被 3 整除

    小Q得到一个神奇的数列: 1, 12, 123,...12345678910,1234567891011...。
    并且小Q对于能否被3整除这个性质很感兴趣。

    小Q现在希望你能帮他计算一下从数列的第l个到第r个(包含端点)有多少个数可以被3整除。
    思路:
    这是个找规律题

    1  2  3   4     5     6      7
    1 12 123 1234 12345 123456 1234567
    1, 4, 7 不能被 3 整除
    由此发现规律,3n + 1 (n>=0) 都不能被 3 整除
    

    也不知道这么算对不对。。。

    l, r = map(int, raw_input().split())
    count = 0
    for i in range(l, r+1):
        if i%3 != 1:
            count += 1
    print count
    

    待更。。。

    相关文章

      网友评论

          本文标题:网易 2019 实习生编程题

          本文链接:https://www.haomeiwen.com/subject/wekgrftx.html