这似乎是一个简单的请求,但 google 不是我的朋友,因为“分区”在数据库和文件系统空间中获得了很多点击。
我需要将 N 个值(N 是常数)数组的所有分区枚举到 k 个子数组中。子数组就是这样 - 一个起始索引和结束索引。原始数组的整体顺序将被保留。
例如,当 N=4 和 k=2 时:
[ | a b c d ] (0, 4)
[ a | b c d ] (1, 3)
[ a b | c d ] (2, 2)
[ a b c | d ] (3, 1)
[ a b c d | ] (4, 0)
k=3:
[ | | a b c d ] (0, 0, 4)
[ | a | b c d ] (0, 1, 3)
:
[ a | b | c d ] (1, 1, 2)
[ a | b c | d ] (1, 2, 1)
:
[ a b c d | | ] (4, 0, 0)
我很确定这不是一个原始问题(不,这不是家庭作业),但我想为每个 k <= N 做一次,如果以后通过(随着 k 增长) 利用了早期的结果。
如果你有链接,请分享。