Magic index
来源:互联网 发布:公共英语网络培训 编辑:程序博客网 时间:2024/05/16 15:51
find the index with value equal to index. Time Complexity: O(logn), Space Complexity: O(1).
//numbers are distinctpublic int getMagic(int[] a, int start, int end) {if(start > end) return -1;int middle = start + (end - start) / 2;if(a[middle] == middle) return middle;else if(a[middle] > middle) return getMagic(a, start, middle - 1);else return getMagic(a, middle + 1, end);}//if numbers are not distinct, means have repeated numberspublic int getMagic2(int[] a, int start, int end) {if(start > end) return -1;int middle = start + (end - start) / 2;if(a[middle] == middle) return middle;//search left//the min leftIndex should be compare with the value int leftIndex = Math.min(middle - 1, a[middle]);int left = getMagic2(a, start, leftIndex);if(left >= 0) return left;//search right int rightIndex = Math.max(middle + 1, a[middle]);int right = getMagic2(a, rightIndex, end);return right;}
- Magic index
- 算法----Magic Index
- Magic Index 求解
- Magic Index 分析
- 8.3 Magic Index
- 待字闺中之Magic Index 分析
- Q9.3 Find the magic index
- Index Scan or Full Table Scan: The “Magic” Number (Magic Dance)
- 【magic】
- magic
- Magic
- magic
- Index
- Index
- index
- index
- index
- index
- 如果马云赢了,这个民族就输了(转自葛甲)
- 区间DP--初篇(UVA 10003)
- memcache原生性能测试
- LeetCode题解:Sort Colors
- EJB 知识与运行环境配置
- Magic index
- android开发打印票据或文档的方法:android打印文档的类
- Spring事务传播机制说明
- 【LabVIEW小技巧】LabVIEW数值显示
- Android从资源文件中读取文件全
- ASP.NET MVC4 菜鸟项目之路(一)改造示例代码扩展用户信息管理
- Tsung录制测试脚本
- Shell编程之判断条件
- virtualhost apache