阿里巴巴3.19日笔试题

1.
  1. n个人参加一个促销活动,每个人手里有个数字啊 a[i],如果某个人手里的数字是平方数(4,9,16…),则他中奖!
  2. 现有一种修改券,可以让人们手中的数字 +1 或者 -1,每个人可以用多张修改券。
  3. 想要保证n/2的人中奖,最少要准备多少张修改券?
  4. 题目测试集保证 n 为偶数。
示例:
n = 4;
a[] = {4, 7, 12, 13};
答案:2
解析:第一个人不用券,第二个人需要两张券改为9,第三个人和第四个人都需要3张券,分别改为9和16.
只需要n/2个人获奖,所以最少花费2张券。
2.
  1. 有n个卡牌,每个卡牌有攻击力 a[i] 和魔法消耗 b[i] 两个属性,请你找出3张卡牌 i, j, k 满足:1 <= i < j < k <= n 且 a[i] <= a[j] <= a[k](没错!!!这两个等号我盯着看了半天,但是听说考试结束前5分钟给改成了无等号),且 b[i]+b[j]+b[k] 最小。
  2. 给出最小的b[i]+b[j]+b[k] 。
  3. 1 <= n <= 3000
  4. 1 <= a[i], b[i] <= 100000
示例:
n = 8;
a[] = {9, 8,  6, 7, 7, 2, 9, 2};
b[] = {9, 1, 10, 8, 6, 4, 8, 6};
答案:24 (坑啊,还能改题目?)
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值