钱币找零

题目 

在线刷题 (educoder.net)

尝试暴力法

 首先,作为一个小白,暴力法你会么……

把题目写在注释里,挺好的,省的来回翻了

暴力法,好像不会;大脑一片空白

这个题,常见吧,见过不止一次吧;会么?不会。你那个见过,只是省掉了读题的时间,其它的,还是新的。很正常……小白……

暴力法,象棋决策树么?

引用自:人工智能下象棋,走一步,能看几步?|漫画 (baidu.com)

好像真的有这么个方法的……

算法小白的入门日记(三十四)你以为暴力解法很简单?——决策树和回溯算法-张柏沛IT博客 (zbpblog.com)

 但是,每步多少个叉啊?——最多K个。很合理……

这是多少复杂度啊?

8层,每个节点K个叉……这个暴力法,没法求……想想算了。

作为一个小白,能想到这个,挺好的了……

那么,这个暴力法,怎么实现?手写多叉树?

也用自己的脑子想过了,没想到好的办法而已;再想也没啥实际作用了,百度启动!

动态规划——零钱兑换 - 知乎 (zhihu.com)

这个树,可以用递归表示?正宗的递归原来这么猛?

你这个递归,看着很猛,很高级;但是,学不会啊……

这个:学习算法和刷题的框架思维 :: labuladong的算法小抄 (gitee.io)

里面这么说的,有道理啊…… 

尝试贪婪法

我怎么知道,这个贪心法,是局部最优解还是全局最优解?

如果一套钱币设计合理,则最小兑现问题就满足贪婪选择性质——这么猛的吗?

好像是的,生活里也是这么干的,原来是沾了设计合理的光呐

引用自:(82条消息) 钱币找零问题,活动选择安排问题(C++)贪心算法_a'ゞfan的博客-CSDN博客_钱币找零问题 

形参怎么用数组?

只传地址不传值,好像有点印象…… 

(82条消息) C++中数组作为形参的方法_乔慕宾的博客-CSDN博客_c++数组作为形参

//假设 1 元、 2 元、 5 元、 10 元、 20 元、 50 元、 100 元的纸币,张数不限制,
//现在要用来支付 K 元,至少要多少张纸币?
//
//输入格式
//输入数据为一个整数
//
//输出格式
//输出数据为字符串,例:"需要 x 张 xx 块的"。

#include<iostream>
using namespace std;


//贪心法
void greedySolve(int k,int* moneyValue,int* result){
	//从大往小了算
	for(int i=0;i<=5;++i){
		while(true){
			if(k-moneyValue[i]<0){
				break;
			}
			k=k-moneyValue[i];
			result[i]++;
		}
	}
}
 
int main(){
	int moneyValue[6]={100,50,20,10,5,1};
	int result[6]={0};
	int k=0;
	cin>>k;
	greedySolve(k,moneyValue,result);
	
	for(int i=0;i<=5;++i){
		if(result[i]){
			cout<<"需要"<<result[i]<<"张"<<moneyValue[i]<<"块的"<<endl;
		}
	}
	
}

后记

编程恐惧症,小白,编程慢;好像是一套的,你都占了,很正常……可能100年后就克服了。看,还是可以克服的,只是不一定活那么长而已。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值