algorithm - 确定给定起始索引和长度的行跨度数

标签 algorithm

我有一个数据的矩阵起始索引和数据的元素数量 我需要找到数据跨越的行数。 例如矩阵

 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/

相关文章:

algorithm - 在不声明 2 个变量(行和列)的情况下遍历 N 个单元格的网格

c++ - 查找下一个具有真值的数组索引 C++

java - 打印帕斯卡三角形的更多递归方法

python - "Time Limit Exceeded"关于 LeetCode 的三和题?

python - 在循环内保留过滤器输出

C:在矩形(本初子午线、赤道等)内查找点的边缘情况?

python - 运行main函数时出现AssertionError

algorithm - 查找最长的交替字符串 1's and 0' s

algorithm - 对对进行排序以使其更加连续

algorithm - 按元素数量设置行和列定义