有关第一篇题解的小疑问(最后的递归解法)
查看原帖
有关第一篇题解的小疑问(最后的递归解法)
443675
紊莫turtle楼主2022/7/2 11:12

rt,如下是 @Anguei 的代码。

int work(int n, int i, int j) {
    if (i == 1)
    	return j;
    if (j == n)
    	return n + i - 1;
    if (i == n)
    	return 3 * n - 2 - j + 1;
    if (j == 1)
    	return 4 * n - 4 - i + 2;
    // 注意,递归的时候,n 要减 2 而不是减 1
    return work(n - 2, i - 1, j - 1) + 4 * (n - 1);
}

最后的 return 中 i 和 j 都减一不是一直在向左上动吗?
不是很理解题解中的“剖开”这一说法。
我以为是一层层的找。
求大佬帮助。

2022/7/2 11:12
加载中...