首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
求最少需要的奖品总数,以满足上述规则?
[单选题]
有N个员工排队排成一排,每个员工对应了一个级别K,按照以下规则给员工发奖品。 1.每个员工都至少发一个奖品 2.相邻的两个员工如果级别不同,那么级别高的一定要得到比级别低的员工更多的奖品。 K为整数,1表示级别最低,然后是2,3,以此类推。 员工的级别排列如下:1 2 3 4 4 1 2,求最少需要的奖品总数,以满足上述规则?
15
14
13
12
查看答案及解析
添加笔记
求解答(8)
邀请回答
收藏(243)
分享
15个回答
添加回答
51
是小毛吖
同样是4级,为啥后面的就是2个,而不是4个。员工心理会平衡吗
发表于 2017-08-20 20:22:33
回复(9)
38
飞翔zhi梦
员工:1 2 3 4 4 1 2
奖品:1 2 3 4 2 1 2 = 15
编辑于 2015-10-17 12:09:28
回复(0)
8
~~Smile
有点搞笑,为啥同样是四级,凭什么给人家后面一个少??
发表于 2018-08-24 10:18:37
回复(1)
5
心存静则强
有条件2知,第一个发一个,第二个至少2个,第三个至少3个,第四个至少4,因为相邻级别增加,第五个与第四个相同比第六个级别高,
所以第五个至少2 个,第六个1个,第七个至少2个。1+2+3+4+2+1+2=15
发表于 2015-10-16 20:12:00
回复(0)
4
pitthehan
public class Solution {
public int candy(int[] ratings) {
int[] lc = new int[ratings.length];
int[] rc = new int[ratings.length];
int res = 0;
lc[0]=1;
rc[ratings.length-1] = 1;
for(int i=1; i<ratings.length; i++) {
if(ratings[i]>ratings[i-1]) {
lc[i]=lc[i-1]+1;
} else {
lc[i] = 1;
}
}
for(int j=ratings.length-2; j>=0; j--) {
if(ratings[j]>ratings[j+1]) {
rc[j] = rc[j+1]+1;
} else {
rc[j] = 1;
}
}
for(int i=0; i<ratings.length; i++) {
res += lc[i]>rc[i]?lc[i]:rc[i];
}
return res;
}
}
发表于 2015-10-25 08:09:10
回复(1)
2
Yuuki-Tenri
前面的1234没说的,只能分配1234个合计10个,后面的412以1为中心,1分1,2分2,需要注意的只是4也只分2就行。因此实际合计15个
发表于 2016-07-21 19:39:56
回复(0)
1
worldspark
真就资本家呗
发表于 2023-06-28 11:52:11
回复(0)
1
聪明的黑眼圈bbq了
虽然算对了,但是同样是4级,凭什么少给别人🙃
发表于 2022-09-17 12:18:01
回复(0)
1
桃花折江山
这题主要是看清楚,题目中已经给出了排列也就是站位1 2 3 4 4 1 2 ,要使奖品总数尽可能的少
首先第一个肯定一个奖品,然后第二个级别比第一个高,那么给2个奖品,同理第三个人给3个,第四个人给4个。
接着看最后两个人给1个和两个是没有疑问的,就是倒数第三个那个人,只需比相邻的级别1高就可以,所以给两个奖品
发表于 2022-05-25 10:39:13
回复(0)
1
我只是一只兔子
顺序:1 4 4 1 3 2 2 奖品:1 2 2 1 2 1 1 只用10个呀。。我哪里理解错了吗
发表于 2020-08-29 17:21:27
回复(1)
1
薆墨
同级的排在一起时,奖品数量没有要求
发表于 2017-03-28 21:13:03
回复(0)
0
o噢哟哈啵啵
①至少人手一个:7个
②相邻的,级别高的多一个:1 2 3 1 1 =8个
至少15个
发表于 2022-11-15 21:14:05
回复(0)
0
扬清陈
排列:1 1 2 2 3 4 4
奖品:1 1 2 2 3 4 1 =14
为啥不行?
发表于 2022-05-16 15:54:33
回复(0)
0
鲍鲍996
为什么不是
2 4 1 4 1 3 2
1 2 1 2 1 2 1
发表于 2020-09-02 21:46:01
回复(0)
0
牛客496132号
人家也只是说相邻级别高的一定比级别低的获得的多,没说同级就不能获得少。
发表于 2018-11-09 10:32:50
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
数学运算
来自:
美团2016研发工程师...
难度:
15条回答
243收藏
7522浏览
热门推荐
相关试题
赛马,至少需要几轮比赛才能得出前三...
产品
运营
数学运算
评论
(8)
34的17次方 对6取余, 结果是多少?
数学运算
评论
(43)
来自
人人网2015研发笔试卷E
87的100次幂除以7的余数是多少?
数学运算
评论
(35)
来自
搜狐2013校招研发工程...
那么最多能挑选出多少球
数学运算
评论
(24)
来自
美团2016研发工程师笔...
下面程序输出结果为?
美团
C++
Java工程师
C++工程师
2016
评论
(22)
来自
美团2016研发工程师笔...
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题