首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >计算数据点的行和列

计算数据点的行和列
EN

Stack Overflow用户
提问于 2015-09-25 16:45:22
回答 1查看 62关注 0票数 0

我有固定数量的列,必须用数据集填充(如果可能)。要求数据是从上到下、从左到右填充的

因此,例如,假设我有4列和6个数据点,表必须像这样填充

代码语言:javascript
运行
复制
1 3 5 6
2 4

或3列和7个数据点

代码语言:javascript
运行
复制
1 4 7
2 5 
3 6

我已经尝试了多种计算方法,如果我回到高中,可能很快就能解决这个问题。但是我又老又白,我的数学也不如以前好。)

如果有任何建议,我将不胜感激。非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2015-09-25 20:23:29

我假设“尽可能多地填充”的意思是填充的单元格的百分比尽可能大。这个问题通常没有唯一的解,但是下面的算法可以用来找到解决方案。

我进一步假设n是条目数,c是列数,r是行数。

代码语言:javascript
运行
复制
r = ceil(n / c)
remainingAdditionalEntries = n - c
optimalAdditionalEntries = r - 1
nextEntry = 0
for iC from 0 to c - 1
    grid[iC][0] = nextEntry++
    additionalEntries = min(remainingAdditionalEntries, optimalAdditionalEntries)
    for iR from 1 to additionalEntries
        grid[iC][iR] = nextEntry++
    next
    remainingAdditionalEntries -= additionalEntries
next

该算法假设在每一列中至少有一个条目。剩余的单元格可以由其他条目填充,只要它们存在。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32778240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档