LintCode-剑指Offer-(28)寻找旋转排序数组中的最小值
2015-11-21 01:24
435 查看
class Solution { public: /** * @param matrix, a list of lists of integers * @param target, an integer * @return a boolean, indicate whether matrix contains target */ bool searchMatrix(vector<vector<int>> &matrix, int target) { if ( matrix.size() == 0 )return false; int tmp = matrix.size()*( matrix[0] ).size(); int i = 0; int j = tmp - 1; int mid = j / 2; if ( matrix.size() != 0 && ( matrix[0] ).size() == 0 )return false; int currentpoint = matrix[mid / ( matrix[0].size() )][mid % ( matrix[0] ).size()]; while ( i <= j ){ if ( currentpoint<target ){ i = mid + 1; mid = ( i + j ) / 2; currentpoint = matrix[mid / ( matrix[0].size() )][mid % ( matrix[0] ).size()]; } else if ( currentpoint>target ){ j = mid - 1; mid = ( i + j ) / 2; currentpoint = matrix[mid / ( matrix[0].size() )][mid % ( matrix[0] ).size()]; } else return true; } return false; } };
相关文章推荐
- 【JS关键字】
- ExtJS4.2学习(14)基于表格的扩展插件(2)(转)
- 学习日记:json之what,why,where,how及应用
- 10001---BootStrap--简介及安装
- Populating Next Right Pointers in Each Node II
- node.js的request模块
- LintCode-剑指Offer-(111)爬楼梯
- js原生封装自定义滚动条
- ExtJS4.2学习(13)基于表格的扩展插件---rowEditing
- webpack bable-loader升级无法编译jsx es6
- javascript实现Email邮件显示与删除功能
- JavaScript实现自动生成网页元素功能(按钮、文本等)
- js实现索引图片切换效果
- javascript实现动态统计图开发实例
- 超详细的javascript数组方法汇总
- jQuery实现分隔条左右拖动功能
- 分享经典的JavaScript开发技巧
- jquery实现select选择框内容左右移动代码分享
- 解决jquery插件:TypeError:$.browser is undefined报错的方法
- js if