首页 > #网易互娱笔试2020-4-11数据挖掘岗
头像
sola1
编辑于 2020-04-12 07:20
+ 关注

#网易互娱笔试2020-4-11数据挖掘岗

在网上没找到组织的我。。。
多少道选择题忘了   两道编程题   一道AC   一道28多   求指教

第一道   求列表内三个元素之和等于一个target  求个数
(匆匆忙忙有点乱  没整理  通过就好 哈哈)
枚举只能80%   这应该是卡时间了吧
我的思路就是把列表一个塞进set   一个塞进字典
先考虑三个数各不相同  用的枚举
再考虑有两个数相同   三个或三个以上数相同
import sys
from collections import Counter

if __name__=="__main__":

    a = list(sys.stdin.readline().strip().split(','))
    a = [int(i) for i in a]
    a_s = list(set(a[1:]))
    a_d = dict(Counter(a[1:]))
    
    count = 0
    for i in range(0,len(a_s)):
        for j in range(i+1,len(a_s)):
            for k in range(j+1,len(a_s)):
                if a_s[i]+a_s[j]+a_s[k] == a[0]:
                    count+=a_d[a_s[i]]*a_d[a_s[j]]*a_d[a_s[k]]
    for i in a_d:
        if a_d[i] == 2:
            for j in a_s:
                if 2*i + j == a[0] and i!=j:
                    count+=a_d[j]
        if a_d[i] >= 3:
            if 3*i == a[0]:
                c = 1
                for j in range(3):
                    c *= a_d[i]-j
                c = c//6
                count += c
            for j in a_s:
                if 2*i + j == a[0] and i!=j:
                    c = 1
                    for k in range(2):
                        c*=a_d[i]-k
                    c = c//2
                    count+=c*a_d[j]
    print(count)

第二道  打副本    
profit_list = [1,2,3,4,5]
随意位置开始   开始跳跃   不能相邻   求最大利益
我不造是不是可以一下子跨两个    要是不可以的话  我的想法就是建个二叉树  递归求和   奈何时间不够 功底不足
也不造有没有负数😔


全部评论

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

推荐话题

相关热帖

近期热帖

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

近期精华帖

热门推荐