首页 > 试题广场 >

牛牛凑数字

[编程题]牛牛凑数字
  • 热度指数:1317 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
牛牛今天逛商店,看到商店里摆着一些很漂亮的数字,牛牛非常喜欢,想买一些数字带回家。
数字一共有九种类型,分别是1-9这九个数字,每个数字的价钱都不一样,而且每个数字的货源都非常充足。
牛牛是个完美主义者,他希望用自己的能够承受的价格,从这些数字里面购买,并且凑到最大的数字带回家。

示例1

输入

5,[5,4,3,2,1,2,3,4,5]

输出

"55555"

说明

第5个数字只需要花费1,所以买5个第5个数字可以凑到最大值55555。
示例2

输入

2,[9,11,1,12,5,8,9,10,6]

输出

"33"

说明

购买2个第3个数字,可以凑到最大值为33。

备注:
第一个参数为一个整数n(0 ≤ n ≤ 106),代表牛牛所能承受的价格。
第二个参数为1-9这九个数字的价格数组,a1,a2,……,a9(1≤ ai ≤105)。
程序应返回:一个数字,代表牛牛能凑到的最大的数字。当然,如果牛牛一个数字都买不起,返回"-1"即可。
注意,由于数字可能会很大,所以程序中需要处理成string类型进行返回。

头像 东溪看水
发表于 2020-07-20 10:54:01
题目 数字一共有九种类型,分别是 1 - 9 这九个数字,每个数字的价钱都不一样,而且每个数字的货源都非常充足。在能够承受的价格内,从这些数字里面购买,并且凑到最大的数。 解题思路 要凑成最大的数, 先求出最大的位数:遍历价格,求出最低的价格 a[minIndex],则最大的位数为 k = n / 展开全文
头像 诗云panther
发表于 2021-08-15 14:13:39
class Solution {public: /** * 得到牛牛能够凑到的最大的数字 * @param n int整型 牛牛能够承受的价格 * @param a int整型vector 1-9这九个数字的价格数组 * @return string字符串 展开全文
头像 Peterliang
发表于 2021-10-10 16:07:24
NC602 题解 | #牛牛凑数字# 题意分析 给出固定的花费n,同时给出1-9每个数字的花费,我们需要用n购买数字使得最后拼凑的数字尽可能大。返回一个字符串。 思路分析 我们发现,对于给定的花费,想要拼凑出尽可能大的数字,我们首先需要满足的是位数尽可能大。很显然,这个位数我们可以通过将这个 展开全文
头像 哆啦B梦2112
发表于 2021-08-31 17:42:18
题意 牛牛拥有一定数量的钱,而1-9的数字分别有价格,请问牛牛能用这些钱买到的数字组合起来最大是多少? 方法一(暴力求解) 考虑暴力枚举。依次从低位开始,买下某个数字并填上去。当没有钱买数字时,返回最终的数字。比较后得出最大答案。 class Solution { public: bool 展开全文
头像 简单666
发表于 2021-09-01 18:54:26
题意: 有数码 各无限个,消耗一个数码 需要的代价为 ,现有大小为 的可消耗代价,问可以凑成的最大数字为多少? 解法一(完全背包): 注意到每个数码可以用一次和多次,使用数码需要消耗一定的代价,这显然是一个变形的完全背包问题。 现在需要解决的是,有一个数字字符串 ,要将数码 插入到 展开全文
头像 xqxls
发表于 2021-08-31 22:49:23
题意整理 给定1-9共9个数字,a数组记录了每个数字的价格。 牛牛手上有n元钱,为了凑出最大的数字带回家,问牛牛应该怎么买,并返回最大的数字。 方法一(贪心) 1.解题思路 首先计算最便宜的数字是多少。 然后根据最便宜的数字,得到最多买多少个数字,以及买了之后,剩余多少钱。因为要凑出最大的数字 展开全文

问题信息

难度:
2条回答 2731浏览

热门推荐

通过挑战的用户

查看代码