我目前正在学习《算法导论》的考试,并遇到了一个问题,我无法真正解决这个问题,问题是:你有一个包含n个整数的数组,前m个元素是偶数,其余元素都是奇数。你需要编写一个算法来查找m的值(查找最后一个偶数的索引),并且时间复杂度为O(log m)。 我想到了类似于二分查找的方法,如果是奇数就向左移动,如果是偶数就向右移动,直到找到最后一个偶数的索引,但这种方法的时间复杂度为O(log n),而不是O(log m)。
m
的上限最多为2m
这个事实,非常抱歉 :) - Chris