华为笔试题,题干例子和文字描述自相矛盾(通过了80%)
华为的笔试编码题,题干举得例子和文字描述自相矛盾。
今天晚上做华为的笔试,三道编程题,ac了1.8道;
第三道大概是这样的:
给出长度为m的正整数序列,将其分分割为k个不为空的序列,S(i)i为第i个序列中元素的和。
要求使得S(1),S(2),S(3)……中的最小值尽可能大。如当m=6,k=3,输入序列为[1 2 3 2 5 4],那么答案为1 2 3 / 2 5 / 4,因为这样的话S(1)、S(2)、S(3)为[6,7,4],S的最小值为4,满足S的最小值尽可能大的条件。
当有多个解的时候,应选择S(1)尽可能大的解。如果此时仍然有多个解,选择S(2)尽可能大的解,以此类推。在分割的地方加入/后输出。
按照题目要求,输出应该为1 2 3 / 2 5 / 4
但是实际上,输出1 2 3 2 / 5 / 4应该是更加符合要求的(注意上文斜体部分)。
向客服反映,一直说题目正确。我已经无语了,错的这么明显。