V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
rqxiao
V2EX  ›  程序员

一道算法题?

  •  
  •   rqxiao · 2020-09-27 16:20:44 +08:00 · 1643 次点击
    这是一个创建于 1529 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一个从小到大排列过的的 int 数组, 需要分成 n 份数组,每份数组 必须也是从小到大, 尽量保持 每份数组中元素相差不多,每组数量也都差不多。

    5 条回复    2020-09-27 20:17:37 +08:00
    Cbdy
        1
    Cbdy  
       2020-09-27 16:28:41 +08:00
    有点类似希尔排序的逆过程
    canbingzt
        2
    canbingzt  
       2020-09-27 17:03:12 +08:00
    for(int i=0;i<arr.length;i++){
    ret[i%n][i/n]=arr[i];
    }
    好像这样就行了
    AddictX
        3
    AddictX  
       2020-09-27 17:56:33 +08:00
    都排好序了,也没啥特别要求,那就直接等分成 N 份,每份 M=array.size()/N 个,剩下的 Y=array.size()-NM 个均分就好了;或者取区间的时候让前 Y 个数组的右区间+1
    zaima
        4
    zaima  
       2020-09-27 17:59:33 +08:00
    按 5 为大小分就好了
    justforlook44444
        5
    justforlook44444  
       2020-09-27 20:17:37 +08:00
    题目应该有问题吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5648 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 03:36 · PVG 11:36 · LAX 19:36 · JFK 22:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.