全部评论
第一题就把图建起来就可以; 第二题用暴力遍历,因为最大也才 2^20 所以没问题; 第三题排序之后从最小的补到倒数第二小,然后再把两个倒数第二小补到倒数第三小,直到m == 0,最多O(n),所以总共 O(n lg n); 最后一题动态规划,我只做出来O(n^2 m) 不过也够快了。 dp[ i ][ j ] 代表前 i 个人分 j 组的最小极差和,那么要求的就是 dp[ n ][ m ]。然后转移就是 dp[ i ][ j ] = min (dp [ k ][ j - 1] + maxDiff[ k + 1 ][ i ]),k 从 j - 1 到 i - 1,maxDiff [ k + 1 ][ i ] 数组表示从第 k + 1 到 i 这些人的极差,这个二维数组最先算一下需要O(nm) , 然后把 dp 做出来要 O(n^2 m)。
是不是没到100%就没分?还是按用例算?我 91% 100% 100% 18%。。第一题不知道为啥总是差一点
为啥我5道编程题。。
我是100 100 91 18😅
第二题是啥思路啊
100 100 100 0
100 100 100 36
有人第四题做出来了吗
有朋友收到面试通知吗
相关推荐