京东笔试0418售卖股票

用python写的,为什么一直在18呢?求大佬们解答一下~谢谢,第二题有大佬做起没,也求解答~
def sellgupiao(n, m, values_test, q):
    """
    返回最少损失的金额
    :param n:股票数量
    :param m:每天最多买m个股票
    :param values:每只股票每天亏的金额
    :param q:假如要卖出q个股票
    :return:最小亏损金额
    """
    values = []
    values[:] = values_test[:]
    values.sort()
    values[:] = values[:q]
    if q <= m:
        return sum(values[:q])
    ans = 0
    count = 1
    while q:
        if q > m:
            ans += count * (sum(values[-m:]))
            values[:] = values[:-m]
        else:
            ans += count * sum(values)
            break
        count += 1
        q = q - m
    return ans

if __name__ == '__main__':
    n = 5
    m = 2
    values = [1, 2, 3, 4, 5]
    q = 4
    res = sellgupiao(n, m, values, q)
    print(res)                


#笔试题目##京东#
全部评论
我也是27怎么改都是27
1 回复 分享
发布于 2020-04-18 21:20
你这个意思是只能输入题中给的数据吗?   应该是用键盘读入进行处理?
点赞 回复 分享
发布于 2020-04-19 00:07
同感 https://blog.csdn.net/qq_27003337/article/details/105607027
点赞 回复 分享
发布于 2020-04-18 23:18
27%+50%,两个都是TLE,自闭了
点赞 回复 分享
发布于 2020-04-18 21:37
同18,哎,
点赞 回复 分享
发布于 2020-04-18 21:30
别说了,全是27
点赞 回复 分享
发布于 2020-04-18 21:26
这里python 就是排序然后取前k个从后往前加,感觉思路没错啊,信心满满一提交27% 人都傻了
点赞 回复 分享
发布于 2020-04-18 21:26
确定是超时嘛,我看了我的运行时间没有超过100ms的
点赞 回复 分享
发布于 2020-04-18 21:21
Python27,我怀疑赛码对Python不友好是真的,在牛客网做笔试几乎没出现过超时的情况。赛码出现两次几乎最优解但是超时的情况了
点赞 回复 分享
发布于 2020-04-18 21:19
可惜我没写出来
点赞 回复 分享
发布于 2020-04-18 21:18
同这样思路 不过复杂度太高  正确解法应该是打表。。。。
点赞 回复 分享
发布于 2020-04-18 21:17
python 27%😂😂😂同不知道错哪了
点赞 回复 分享
发布于 2020-04-18 21:15
😂思路一摸一样,我也想知道
点赞 回复 分享
发布于 2020-04-18 21:15
Python 18%, 唔知边错咗
点赞 回复 分享
发布于 2020-04-18 21:14

相关推荐

06-12 16:23
已编辑
小米_软件开发(准入职员工)
点赞 评论 收藏
分享
醉蟀:你不干有的是人干
点赞 评论 收藏
分享
评论
1
2
分享

创作者周榜

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