美文网首页
HackerRank:Mark and Toys Python3

HackerRank:Mark and Toys Python3

作者: 流浪山人 | 来源:发表于2019-11-26 23:06 被阅读0次

    题目

    Mark and Jane are very happy after having their first child. Their son loves toys, so Mark wants to buy some. There are a number of different toys lying in front of him, tagged with their prices. Mark has only a certain amount to spend, and he wants to maximize the number of toys he buys with this money.

    Given a list of prices and an amount to spend, what is the maximum number of toys Mark can buy? For example, if and Mark has to spend, he can buy items for , or for units of currency. He would choose the first group of items.

    Function Description

    Complete the function maximumToys in the editor below. It should return an integer representing the maximum number of toys Mark can purchase.

    maximumToys has the following parameter(s):

    prices: an array of integers representing toy prices
    k: an integer, Mark's budget
    Input Format

    The first line contains two integers, and , the number of priced toys and the amount Mark has to spend.
    The next line contains space-separated integers

    Constraints

    A toy can't be bought multiple times.

    Output Format

    An integer that denotes the maximum number of toys Mark can buy for his son.

    Sample Input

    7 50
    1 12 5 111 200 1000 10
    Sample Output

    4
    Explanation

    He can buy only toys at most. These toys have the following prices: .

    题目解析

    其实就是数组排序然后加起来或者k减去数值小于0,经验看减起来快一点

    ANSWER

    #!/bin/python3
    
    import math
    import os
    import random
    import re
    import sys
    
    # Complete the maximumToys function below.
    def maximumToys(prices, k):
        prices.sort()
        i = 0
        while k > 0 and i < len(prices):
            k -= prices[i]
            i += 1
    
        return i - 1
    
    
    
    if __name__ == '__main__':
        fptr = open(os.environ['OUTPUT_PATH'], 'w')
    
        nk = input().split()
    
        n = int(nk[0])
    
        k = int(nk[1])
    
        prices = list(map(int, input().rstrip().split()))
    
        result = maximumToys(prices, k)
    
        fptr.write(str(result) + '\n')
    
        fptr.close()
    
    

    相关文章

      网友评论

          本文标题:HackerRank:Mark and Toys Python3

          本文链接:https://www.haomeiwen.com/subject/tnkuwctx.html