首页 > 8.8 网易笔试 大数据开发方向
头像
我不想当大白菜
编辑于 2020-08-08 17:57
+ 关注

8.8 网易笔试 大数据开发方向

分析

难度还行,这套卷子相对Java那套可能简单了不少,但抵不住自己菜啊

1.

牛牛现在有一个包含N的正整数的数组a,牛牛可以将其中的每个数a[i] 都拆成若干个和为 a[i] 的整数,牛牛想知道这个数组最多能有多少素数?

数学题,就是根据奇偶数直接判断,绕过来就行了

N = int(input())

nums = list(map(int,input().split()))

res = 0
for val in nums:
    if val % 2== 0:
        res += val //2
    else:
        res += (val-1)//2
print(res)

2.

给定[E, EM, M, MH, H]五种难度的leetcode题,尽可能地出多套卷子,每套卷子含E或EM、M或EM或HM、H或MH三种组合。

  • 思路:二分查找,限定值mid后判断该值是不是可以满足

  • 先对E和H进行处理,补到mid的大小,然后在计算剩下的M和MH、EM的和能不能达到mid

def main():
    [E, EM, M, MH, H] = list(map(int, input().split()))

    max_val = (E + EM + M + MH + H) // 3

    def find(i, E, EM, M, MH, H):
        if E < i:
            cur = min(i - E, EM)
            E += cur
            EM -= cur
        if H < i:
            cur = min(i - H, MH)
            H += cur
            MH -= cur
        if M + EM + MH >= i and E >= i and H >= i:
            return True
        return False

    res = 0
    left, right = 0, max_val
    while left <= right:
        mid = (left + right) // 2
        if find(mid, E, EM, M, MH, H):
            left = mid + 1
            res = max(res, mid)
        else:
            right = mid - 1
    print(res)
main()

3.

计算总成绩,要求最后的总成绩如果是以5结尾的话记为0分
计算总成绩,要求最后的总成绩包含5的话记为0分

  • 没想到合适的方法,就暴力处理了一下,A了70
    题主竟然没理解题意就A了70 .。。我也是服了
N = int(input())

nums = list(map(int, input().split()))

score_sum = sum(nums)
if str(score_sum)[-1] != '5':
    print(score_sum)
else:
    nums.sort()
    min_non_ten = 1e9
    for i in range(len(nums)):
        if nums[i] % 10 != 0:
            min_non_ten = nums[i]
        if nums[i] > min_non_ten:
            break

    print(score_sum - min_non_ten)

4.

平分数组,计算最少丢弃多少才能使两个人各自的物品和相等。

没写出来。。

写了一个DFS,没想到还有双DFS这种操作。。

全部评论

(9) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐