我有一个数据的矩阵起始索引和数据的元素数量 我需要找到数据跨越的行数。 例如矩阵
0 5 ------------------- | | | | |x |x | ------------------- |x |x |x |x |x |x | ------------------- | | | | | | | ------------------- | | | | | | | -------------------
我的数据标有 x。我知道起始索引 4,数据长度 8。 我需要确定此数据跨越的行数,在本例中为 2。 (在很多情况下,只做 length/6 就差了一个,当然必须有一个简单的公式..)
最佳答案
如果你只知道offset
(即起始列的索引),size
(即多少数据),cols
(即最大列数),并且你想计算你的数据将跨越多少行,你可以这样做
int get_spanned_rows(int offset, int size, int cols) {
int spanned_rows = (offset + size) / cols
if ( ( (offset + size ) % cols) != 0 )
spanned_rows++
return spanned_rows
}
其中 %
是模数(或提醒)运算符
关于algorithm - 确定给定起始索引和长度的行跨度数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5859784/