网易第1,3题代码 顺便求个第二题抽牌的ac解

网易第一题ac 以及第三题90% 代码

第一题 给定一个数组,是否存在一个x,使得数组中某些元素加上x,某些元素减去x之后,数组中的所有元素都相等 ac

# -*- coding=utf-8 -*-
def check_equal(seq):
    length = len(seq)
    if length <= 2:
        return 'YES'

    if length != 3:
        return 'NO'

    seq.sort()
    a, b, c = seq
    if b - a == c - b:
        return 'YES'
    else:
        return 'NO'


if __name__ == "__main__":
    seq_nums = int(input())
    for i in range(seq_nums):
        length = int(input())
        seq = list(map(int, input().split()))
        seq = list(set(seq))
        print(check_equal(seq))

第三题 求给定所有数对中,能够整除每个数对中最少一个元素的最大质数x 通过了90%

# -*- coding=utf-8 -*-
from math import sqrt


def get_max_gcd(seq):
    # 得到质因数上线
    min_value = min(seq, key=lambda x: max(x[0], x[1]))
    min_value = min(min_value)
    zhi_list = get_zhi(min_value)
    for zhi in zhi_list:
        flag = True
        for item in seq:
            if not check_equal(item, zhi):
                flag = False
                break
        if flag:
            return zhi

    return -1


def check_equal(item, zhi):
    for _ in item:
        if _ % zhi == 0:
            return True
    return False


def get_zhi(value):
    sqrt_value = int(sqrt(value)) + 1
    res = [2]
    i = 3
    while i <= value:
        flag = True
        j = 0
        while j < len(res) and res[j] <= sqrt_value:
            if i % res[j] == 0:
                flag = False
                break
            else:
                j += 1
        if flag:
            res.append(i)
        i += 1
    return res[::-1]


if __name__ == "__main__":
    n = int(input())
    seq = []
    for i in range(n):
        a, b = map(int, input().split())
        seq.append((a, b))
    print(get_max_gcd(seq))
#网易#
全部评论
第二题每次取最多的直到手牌取满,第三题不知道为什么一直80%……
点赞 回复 分享
发布于 2018-09-28 17:29

相关推荐

头像
11-27 14:28
长沙理工大学
刷算法真的是提升代码能力最快的方法吗?&nbsp;刷算法真的是提升代码能力最快的方法吗?
牛牛不会牛泪:看你想提升什么,代码能力太宽泛了,是想提升算法能力还是工程能力? 工程能力做项目找实习,算法也分数据结构算法题和深度学习之类算法
点赞 评论 收藏
分享
我在朝九晚六双休的联想等你:如果我是你,身体素质好我会去参军,然后走士兵计划考研211只需要200多分。
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务