哎,我还是太嫩了 (转载)# Joke - 肚皮舞运动
A*o
1 楼
参加了一个面试,一道算法题是这样的,我没有做出来,大家帮我看看,我觉得好难。
题目根据回忆是这样的:
发牌人手上有52张扑克牌,在一个初始化好了的数组里面(已经知道牌的点数,J,Q,K
价值是 10,A 比较特殊可以 价值 1,也可以价值 11),发牌人自己能看见数组里牌
的点数和顺序,另外有四个人,发牌人可以把数组里面的牌一张一张的按照数组里的顺
序发给四个人中的任何一个(条件是这个人拿了这张牌后,他手中的牌点数之和小于等
于21),牌必须按照初始化好的数组里面的顺序发,发牌人想把一张牌发给4个人中的
谁就发给谁。发牌人也可以选择丢掉这张牌,不发给任何人。 如果当前4个人,拿了这
张牌,手上点数都大于21,那么发牌人必须把这张牌扔掉。任何人,手上的牌,点数之
和达到21点后,得把手上的所有牌扔掉,算成功达到21点一次,他又可以开始接牌。请
给发牌人设计一种算法(每张牌发给谁,还是丢掉),让4个人产生的21点成功次数总
和最多。 不涉及任何概率的问题,因为数组里的牌是已知的。
输入:数组,52个元素代表52张牌
要求输出:
(1) 整数的一维数组,52个元素,0代表丢掉了,1代表给了第一个人,2代表
给了第二个人,3代表给了第三个人,4代表给了第四个人
(2) 总共产生了几次21点
面试的时候,死在这道题上面,其他的题目都做对了,感觉这是离offer最近的一次。
郁闷死了!
题目根据回忆是这样的:
发牌人手上有52张扑克牌,在一个初始化好了的数组里面(已经知道牌的点数,J,Q,K
价值是 10,A 比较特殊可以 价值 1,也可以价值 11),发牌人自己能看见数组里牌
的点数和顺序,另外有四个人,发牌人可以把数组里面的牌一张一张的按照数组里的顺
序发给四个人中的任何一个(条件是这个人拿了这张牌后,他手中的牌点数之和小于等
于21),牌必须按照初始化好的数组里面的顺序发,发牌人想把一张牌发给4个人中的
谁就发给谁。发牌人也可以选择丢掉这张牌,不发给任何人。 如果当前4个人,拿了这
张牌,手上点数都大于21,那么发牌人必须把这张牌扔掉。任何人,手上的牌,点数之
和达到21点后,得把手上的所有牌扔掉,算成功达到21点一次,他又可以开始接牌。请
给发牌人设计一种算法(每张牌发给谁,还是丢掉),让4个人产生的21点成功次数总
和最多。 不涉及任何概率的问题,因为数组里的牌是已知的。
输入:数组,52个元素代表52张牌
要求输出:
(1) 整数的一维数组,52个元素,0代表丢掉了,1代表给了第一个人,2代表
给了第二个人,3代表给了第三个人,4代表给了第四个人
(2) 总共产生了几次21点
面试的时候,死在这道题上面,其他的题目都做对了,感觉这是离offer最近的一次。
郁闷死了!