一道算法题?

2020-09-27 16:20:44 +08:00
 rqxiao

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

1625 次点击
所在节点    程序员
5 条回复
Cbdy
2020-09-27 16:28:41 +08:00
有点类似希尔排序的逆过程
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
2020-09-27 17:56:33 +08:00
都排好序了,也没啥特别要求,那就直接等分成 N 份,每份 M=array.size()/N 个,剩下的 Y=array.size()-NM 个均分就好了;或者取区间的时候让前 Y 个数组的右区间+1
zaima
2020-09-27 17:59:33 +08:00
按 5 为大小分就好了
justforlook44444
2020-09-27 20:17:37 +08:00
题目应该有问题吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/710978

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX