- 博客(9)
- 收藏
- 关注
原创 贪心入门:硬币问题
有1元、5元、10元、50元、100元、500元的硬币各C、C、Ci、Cs0、C00、Csoo枚。现在要用这些硬币来支付A元,最少需要多少枚硬币?假定本题至少存在一种支付方案。6(500元硬币1枚,50元硬币2枚,10元硬币1枚,5元硬币2枚,合计6枚)这是个贴近生活的简单问题。凭直觉,可以得出如下正确的解答。剩余部分尽可能多地使用50元硬币;首先尽可能多地使用500元硬币;剩余部分尽可能多地使用5元硬币;最后的剩余部分使用1元硬币支付。
2024-05-31 16:03:00 255 1
原创 从零开始的紫书刷题3:树与二叉树篇之小球下落
问题:有一棵二叉树,最大深度为D,且所有叶子的深度都相同。所有结点从上到下从左到右编号为1,2,3,…在结点1处放一个球,它会往下落。每个内节点都有一个开关,初始时全部关闭,当每次有小球落到一个开关上时,状态都会改变。输入叶子深度D和小球个数I,输出第I个小球最后所在的叶子编号。假设I不超过整棵树的叶子个数。输入最多包含100组数据。
2024-05-02 17:03:32 199 2
原创 从零开始的紫书刷题2:stl篇之反片语
在判断是否满足条件时,字母不分大小写,但在输出时应保留输入中的大小写,按字典序进行排列(所有大写字母在所有小写字母的前面)。map与set都支持insert、count,map,还可以使用“[]”,使得它可以像数组一样使用。输入一些单词,找出所有满足以下条件的单词:该单词不能通过字母重排,得到输入文本中的另外一个单词。以下代码是在我看完紫书题解后略微修改之后得到的,还请大佬指正!在做这个题目之前,我们先要熟悉map的用法。
2024-04-13 19:59:20 140
原创 从零开始的紫书刷题1:stl篇之安迪的第一个字典
利用set可以自动排好序(默认升序)的特性,用一个string类型的set容器来存放输入的单词,再利用迭代器将元素输出即可。这其中还有一个需要提及的是stringtream的使用。我是这样理解的,把每次输入的字符串s经过处理(大写换小写、非字母被去除)存入一片缓冲区,从缓冲区中每读出一个字符串,将它添加到set中。问题:输入一个文本,找出所有不同的单词(连续的字母序列),按字典序从小到大输出。此外,与vector不同的是,set并不能用下标法来来遍历,我们使用迭代器;//判断容器中是否存在某个元素。
2024-04-13 18:44:11 150
原创 xd程序设计1:基于一维数组和vector容器实现的高精度加法
每次数组相同位相加时,都会加上上一位进的位,因此使用一个for循环实现。并且需要注意的是,当A和B数组长度相等并且最后一位相加后t需要再进一位时,t/=10后一定为i,加入if(t)语句即可实现再进一位。以上的代码片段,先用两个循环把字符串处理成数组,还使用了algorithm头文件中的max函数用来确定循环次数,也可以自己写一个返回最大值的函数。与数组的做法大同小异,使用了vector的函数,并且在add函数中传引用作为参数,这样更快。欢迎各位大佬指出不足之处!B.vector容器。
2024-03-16 12:04:19 360
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人