饿了么8.25笔试
第一题,记录出现次数然后排序即可。我是用map给每个字符串标号,然后用int数组记录,最后用一个int数组排序。
第二题,用map记录数字的出现次数,如果有只出现过一次的数字,或者总共有至少3个不同数字,则返回数组长度。否则为类似"1 2 1 2 1 2 1 2"的情况,返回数组长度/2+1(每次删除触发一次自动删除,长度-2;最后到长度为2的时候可以删除两次)。
第三题,用floyd计算最短路,两次for循环遍历枚举,过了一半,不清楚wa在哪了。考虑了距离爆int的情况,但是可能没考虑全,有可能是这个原因。
第二题,用map记录数字的出现次数,如果有只出现过一次的数字,或者总共有至少3个不同数字,则返回数组长度。否则为类似"1 2 1 2 1 2 1 2"的情况,返回数组长度/2+1(每次删除触发一次自动删除,长度-2;最后到长度为2的时候可以删除两次)。
第三题,用floyd计算最短路,两次for循环遍历枚举,过了一半,不清楚wa在哪了。考虑了距离爆int的情况,但是可能没考虑全,有可能是这个原因。
全部评论
第三题是因为饿了么骑手,可以先取多家外卖,然后再去送
我T3也只过了51%。 1e4不会爆int吧?我long long也51%。应该是有些边界情况没考虑好
第2题原来如此
第二题转成123了,我说怎么过不了
你第二题是100%嘛?
相关推荐