|
|
1
4
一些数学(如模、整数除法和极小值)可以找到从左到右(LTR)和从右到左(RTL)的对角线的起始行和列,从而节省了向后迭代寻找起点的复杂性。然后,使用那些开始的行和列,简单地迭代,直到超出数组的高度和宽度界限。
样本运行。。。
编辑:关于
还有一点需要澄清。问题表明“还有一个给定的索引。我想得到两个数组,其中包含的元素位于通过该特定索引的对角线上。”如果正在寻找矩形数组的索引,而不是
|
|
|
2
1
请尝试以下代码
这个想法是计算l_val和r_val。
现在arr[l_val][r_val]标记了l_val*w+r_val在矩阵中的位置 接下来是4个步骤: 1) 从arr[l_val][r_val]开始迭代。从两者中减去1,直到我们到达终点。将其取消移动到数组_1(以维持秩序) 2) 从[l_val][r_val]开始迭代。两个都加1,直到我们到达终点。把这个推到数组_1。 3) 从arr[l_val][r_val]开始迭代。从l_val中减去1,再加上1 t r_val,直到我们到达终点。将其取消移动到数组_2(以维持秩序) 4) 从[l_val][r_val]开始迭代。l_val加1,r_val减1,直到结束。把这个推到array_2。 |
|
3
1
|
|
|
feasega · 聚合物模拟-2个节点之间的最短路线,适用于所有节点 1 年前 |
|
|
Alisa Petrova · 在有向图中更改一对顶点以创建循环 1 年前 |
|
|
b39b332d · 使用C++标准库实现高效间隔存储 1 年前 |
|
ABGR · 二叉树的直径——当最长路径不通过根时的失败案例 1 年前 |
|
|
EpicAshman · 数独棋盘程序中同一列和同一行出现两次的数字 1 年前 |