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

相关推荐

球球别再泡了:坏,我单9要了14
点赞 评论 收藏
分享
点赞 评论 收藏
分享
1 2 评论
分享
牛客网
牛客企业服务