我需要为以下内容提出一个算法:让我们假设我们有一个由零和一组成的数组。数组从数组的开头到索引 m 用 0 填充,所有剩余索引用 1 填充。我需要在 O(logm) 时间内找到这个索引 m。这是我的想法:我认为这就像二进制搜索,首先我查看数组的中间元素,如果它为零,那么我会忘记数组的左侧部分并对右侧部分执行相同的操作,并且继续这样,直到我遇到一个。如果中间元素是一个,那么我会忘记右边的部分并对数组的左边部分做同样的事情。这是一个正确的 O(logm) 解决方案吗?谢谢
问问题
110 次