假设1元、2元、5元、10元、20元50元、100元的纸币分别有c0、c1、c2、c3、c4、c5、c6张。现在要用这些钱来支付K元,至少需要多少张纸币?
贪心策略:用贪心算法的思想,很显然,每一步尽可能用面值大的纸币即可。在程序中已然将value按照从小到大的顺序排好。
struct CMP{
bool operator()(vector<int>& arr, vector<int>& arr2){
return arr[0] > arr2[0];
}
};
// 返回纸张数量
// Mat :以其中一个元素为例:
// 当前元素中的第一个元素为面值
// 当前元素中的第二个元素为当前面值的个数
int