【小米集团】2019校招在线考试-算法试卷编程题

版权声明:本文为博主原创文章,欢迎大家转载,但是要注明我的文章地址。 https://blog.csdn.net/program_developer/article/details/82794550

1. 小米大礼包

题目描述:

小米之家是成人糖果店。里面有很多便宜、好用、好玩的产品。中秋节快到了,小米之家想给米粉们准备一些固定金额大礼包。对于给定的一个金额,需要判断能不能用不同种产品(一种产品在礼包最多出现一次)组合出来这个金额。聪明的你来帮帮米家的小伙伴吧。

输入:

输入N(N是正整数,N <= 200)

输入N个价格p(正整数,p <= 10000)用单空格分割

输入金额 M (M是正整数,M <= 100000)

输出:

能组合出来输出 1

否则输出 0

样例输入:

6

99 199 1999 10000 39 1499

样例输出:

1


【雷同题目】

 上面题目的原型,其实就是这个题目。

链接:https://www.nowcoder.com/questionTerminal/7f24eb7266ce4b0792ce8721d6259800

题目描述:

给定一个有n个正整数的数组A和一个整数sum,求选择数组A中部分数字和为sum的方案数。当两种选取方案有一个数字的下标不一样,我们就认为是不同的组成方案。

输入描述:

输入为两行:

第一行为两个正整数n(1 <= n <= 1000),sum (1 <= sum <= 1000)

第二行为n个正整数A[i](32位整数),以空格隔开。

输出描述:

输出所求的方案数

示例1

输入:

 5 15

5 5 10 2 3

输出:

4

 【雷同题目】

【1】【面试题:检查一个数组里是否存在m个数的和等于某个值】

【2】求数组中若干个元素之和等于给定值

2、最优分割

题目描述:

依次给出n个正整数A1,A2,......,An,将这n个数分割成m段,每一段内的所有数的和记为这一段的权重,m段权重的最大值记为本次分割的权重。问所有分割的方案中分割权重的最小值是多少?

输入:

第一行依次给出正整数n,m,单空格切分;(n <= 10000,m <= 10000, m <= n)

第二行依次给出n个正整数单空格切分A1,A2,......,An(Ai <= 10000)

输出:

分割权重的最小值

样例输入:

5 3

1 4 2 3 5

样例输出:

5

Hint

分割成1 4 | 2 3 | 5 的时候,3段的权重都是5,得到分割权重的最小值。

猜你喜欢

转载自blog.csdn.net/program_developer/article/details/82794550
今日推荐