1. 程式人生 > >4.3 換錢的最少貨幣數

4.3 換錢的最少貨幣數

題目】:

  給定陣列arr,arr中所有的值都為正數且不重複。每個值代表一種面值的貨幣,每種面值的貨幣都可以使用任意張,再給定一個整數aim代表要找的錢數,求組成aim的最少貨幣數

  舉例:

    arr=[5, 2, 3],aim=20

    4張5元可以組成20元,其它的找錢方案都要使用更多張的貨幣,所以返回4

    arr=[5, 2, 3],aim=0

    不用任何貨幣就可以組成0元,返回0

    arr=[3, 5],aim=2

    根本無法組成2元,錢不能找開的情況下預設返回-1

 

補充題目】:

  給定陣列arr,arr中所有的值都為正數。每個值僅代表一張錢的面值,再給定一個整數aim代表要找的錢數,求組成aim的最少貨幣數

  舉例:

    arr=[5, 2, 3],aim=20

    5元、2元和3元的錢各有1張,所以無法組成20元,預設返回-1

    arr=[5, 2, 5, 3],aim=10

    5元的貨幣有2張,可以組成10元,且該方案所需張數最少,返回2

    arr=[5, 2, 5, 3],aim=15

    所有的錢加起來才能組成15元,返回4

    arr=[5, 2, 5, 3],aim=0

    不用任何貨幣就可以組成0元,返回0