package Twitter;
import java.util.ArrayList;
import java.util.List;
/**
* @author Bella
* @version 1.0
* @Date 11/7/17 6:10 PM
*/
public class MagicIndex {
public static void main(String[] args) {
int[] array = {-1, 2, 2, 2, 3 ,4 ,7, 8};
List<Integer> result = new ArrayList<Integer>();
int start = 0;
int end = array.length - 1;
System.out.println(helper(array, start, end));
}
static int helper(int[] array, int low, int high) {
if (low > high || low < 0 || high >= array.length) {
return -1;
}
int mid = (low + high) / 2;
if (array[mid] == mid) {
return mid;
}
int left = Math.min(mid - 1, array[mid]);
int leftRes = helper(array, low, left);
if (leftRes != -1) {
return leftRes;
}
int right = Math.max(mid + 1, array[mid]);
return helper(array, right, high);
}
}
Magic Index
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- https://stackoverflow.com/questions/39676939/how-does-str...
- 情景描述 希望一个html页面,这个页面命名index.html,所以我希望访问http://localhost:...
- CSS 定位 CSS有三种基本的定位机制:普通流,浮动,绝对定位(absolute, fixed):普通流是默认定...
- 上一篇教程谈了些和微信小程序开发本身无关的技术问题,现在回到主题。 这边教程主要对默认生成的index 页面进行讲...