假设尺寸为N * N的矩阵
似乎要弄清楚它们由它们的数量组成的层数是N / 2但是虽然我可以验证它,但不知何故我无法在概念上连接N的一半如何给出这个层数。
例如:
4x4 => 4/2 = 2层
x x x x
x x x x
x x x x
x x x x
图层:
x x x x
x x x x
x x x x
x x x x
有人可以帮我解锁吗?
答案 0 :(得分:1)
N
专注于矩阵的中间一行。为清晰起见,以下示例中的图层(N=6
)用x
,y
和z
表示。
x x x x x x
x y y y y x
x y z z y x <- For example, this row
x y z z y x
x y y y y x
x x x x x x
因为你处于中间位置,所以你会经历每一层。事实上,你进入&#34;进入&#34;每一层一次,&#34;退出&#34;那层后来。每次进入或退出图层时,矩阵都有一个元素。例如,在上面的例子中,从左到右我们有:
x: enter layer x
y: enter layer y
z: enter layer z
z: exit layer z
y: exit layer y
x: exit layer x
如您所见,我们在行上遍历了N
个元素,每个图层都需要输入和退出,因此我们推断出有N/2
个图层。
N
如果N
是奇数,则推理大致相同,只是最内层(只是一个元素)是&#34;输入&#34;和#34;退出&#34;同时。图层数为(N+1)/2
。我们可以通过暂时忽略最内层来推导出这个。行中的元素数量(忽略最内层)为N-1
,我们除以2得到层数(忽略最内层),我们加1(以考虑最内层)。然后是(N-1)/2 + 1 = (N+1)/2
。