京东笔试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)