小编Dom*_*ben的帖子

如何使用常数值填充2D数组,效率高于n ^ 2?

这是一个普遍的问题,它可以适用于任何给定的语言,如C,C++,Java等.
我认为你实现它的任何方式,你不能比使用2个循环更有效,这提供了n ^ 2的效率.

for(i=0;i<n;i++)
 for(j=0;j<n;j++)
  a[i][j]=1;
Run Code Online (Sandbox Code Playgroud)

我最近在接受采访时被问到这个问题,并且想不出更有效的方法.我从访调员那里得到的是,我可以使用递归或将2D数组转换为链表,使其比n ^ 2更有效.任何人都知道这是否可能,如果有,怎么样?至少在理论上,如果不是实际的话.

编辑:实际的问题给了我两个单元格的坐标,我必须用1填充所有可能的最短路径所采用的路径.例如,如果我有一个5x5矩阵,我的两个坐标是(2,0)和( 3,3),我必须填写:
(2,0)(2,1)(2,2)(2,3)(3,0)(3,1)(3,2)(3, 3)
同时留下其余的细胞.

language-agnostic algorithm matrix

4
推荐指数
1
解决办法
1852
查看次数

标签 统计

algorithm ×1

language-agnostic ×1

matrix ×1