通过谷歌搜索几分钟,我知道了基本概念。
- 设 A、B 和 C 是包含 n 个元素的排序数组。
- 在每个数组中选择中值,并将它们称为 medA、medB 和 medC。
- 不失一般性,假设 medA > medB > medC。
- 数组 A 中大于 medA 的元素不能成为三个数组的中位数。同样,数组 C 中小于 medC 的元素不能,因此这些元素将被忽略。
- 递归地重复步骤 2-4。
我的问题是,基本情况是什么?假设有很多基本情况,我手动测试了几个小时的算法,但我找不到正确的基本情况。此外,三个数组的长度在每个递归步骤中都会变得不同。即使三个数组的长度不同,第 4 步是否有效?