阿里笔试 7.27题目

第一题

纸上写了一个单调非递减的数字序列,每个人依次选择一个数字,然后把这个数字第一次出现位置及其之前的数字都删掉,直到谁把序列删除空谁就赢了,
niuniu先手,niumei后手,谁赢打印谁的名字。
输入:
T 表示有几组数据
n 表示每组序列中有几个数
***** 接下来一行为序列
样例:
1
6
111222
输出:niuniu
原因:niuniu选2,序列变为22;niumei选2,序列变为2;niuniu选2,序列变为空,niuniu赢

第二题

有个藏宝架有n层,每层的宝物数量不一,每个宝物都有其价值,现在要求拿出m个宝物,并且需要遵守规则:

  1. 每次只能拿选定层的两端的宝物
  2. 要拿出的m个宝物的总价值是各种方案里最大的

输入:
n m
下面每行代表每层,且第一个数是这层宝物的数量k,后面的则是k个宝物的价值
4 1 2 4 5
5 1 2 4 5 5
样例:
2 3
2 3 2
4 1 4 1 5
输出:5+3+2=10

#阿里巴巴##笔试题目#
全部评论
建议把第一题的单调两个字去掉,这样才符合阿里的难度,我31号的第二题要炸了,***难了
2 回复 分享
发布于 2020-07-31 20:49
7.27号的题目比较简单。可惜我没参加
1 回复 分享
发布于 2020-07-31 10:06
题目没读懂
1 回复 分享
发布于 2020-07-27 22:31
 public static void maxtValue(int[] nums, Deque<Integer>[] deques, int remianNums, int[] sum, int[] current) {         //剪枝         if (remianNums == 0) {                        sum[0] = Math.max(sum[0], current[0]);             return;         }         for (int i = 0; i < deques.length; i++) {             if (deques[i] != null && deques[i].size() != 0) {                 Integer first = deques[i].removeFirst();                 current[0] += first;                 //递归                 maxtValue(nums, deques, remianNums - 1, sum, current);                 //回溯                 current[0] -= first;                 deques[i].addFirst(first);                                  Integer last = deques[i].removeLast();                 current[0] += last;                 maxtValue(nums, deques, remianNums - 1, sum, current);                 current[0] -= last;                 deques[i].addFirst(last);             }         }     }
点赞 回复 分享
发布于 2020-07-28 13:18
2 3 2 3 2 4 1 4 1 5 问个弱鸡的问题,这个样例你们是怎么输入的。习惯了直接写方法的那种,突然还有点不习惯
点赞 回复 分享
发布于 2020-07-28 11:45
同a了第一题,第二题我的思路是对每行的收藏品保存两端的藏品价值,再排序来做,分成m为奇数和偶数的状态,奇数状态的没来得及写,只a了10%。阿里要多少分才能通过啊?不通过还有下次机会吗
点赞 回复 分享
发布于 2020-07-28 11:23
第一题,从右到左遍历,有奇数个相同的数字,就是先手赢(我a了)。第二题我的思路是把它反过来看作是要求剩下物品的价值最小,然后用分组背包来做,根据这个思路来预处理每一行,也就是把每一层的所有可能弄成weight和value的形式,但是这样预处理时每一层的时空复杂度的都是n^2(但是我还没有敲完,希望大神能指出第二题怎么写)
点赞 回复 分享
发布于 2020-07-28 09:37
第一题博弈没啥太好思路 用哈西通了20% 第二题是很明显的动态规划 ac了
点赞 回复 分享
发布于 2020-07-28 08:54
确定是niuniu先手?
点赞 回复 分享
发布于 2020-07-27 22:35
为什么第一题例子给的是niuniu赢啊
点赞 回复 分享
发布于 2020-07-27 22:31
阿里笔试会自动保留最高分的解法吗
点赞 回复 分享
发布于 2020-07-27 22:09

相关推荐

求面试求offer啊啊啊啊:要求太多的没必要理
点赞 评论 收藏
分享
05-29 22:11
门头沟学院 Java
Elastic90:抛开学历造假不谈,这公司的招聘需求也挺怪的,Java开发还要求你有图文识别、移动端开发和c++的经验,有点逆天了。
点赞 评论 收藏
分享
评论
13
50
分享

创作者周榜

更多
牛客网
牛客企业服务