当前位置:网站首页>Leetcode74. 搜索二维矩阵
Leetcode74. 搜索二维矩阵
2022-08-01 17:54:00 【Java全栈研发大联盟】
题目传送地址: https://leetcode.cn/problems/search-a-2d-matrix/
运行效率
代码如下:
class Solution {
public static boolean searchMatrix(int[][] matrix, int target) {
int row; //target所在的行
//处理边界情况
if (target > matrix[matrix.length - 1][0]) {
if (target > matrix[matrix.length - 1][matrix[0].length - 1]) {
return false;
} else {
row = matrix.length - 1;
}
}
//先用二分法确定目标值 可能所在的行
int left = 0;
int right = matrix.length;
while (left != right) {
int mid = (left + right) / 2;
if (target == matrix[mid][0]) {
return true;
}
if (target > matrix[mid][0]) {
if(left==mid){
//如果left指针和right指针遇到了就可以跳出循环
break;
}
left = mid;
}
if (target < matrix[mid][0]) {
if(right==mid){
//如果left指针和right指针遇到了就可以跳出循环
break;
}
right = mid;
}
}
row = left;
//再用二分法确定目标值 可能所在的列
left = 0;
right = matrix[0].length;
while (left != right) {
int mid = (left + right) / 2;
if (target == matrix[row][mid]) {
return true;
}
if (target > matrix[row][mid]) {
if(left==mid){
//如果left指针和right指针遇到了就可以跳出循环
break;
}
left = mid;
}
if (target < matrix[row][mid]) {
if(right==mid){
//如果left指针和right指针遇到了就可以跳出循环
break;
}
right = mid;
}
}
return false;
}
}
边栏推荐
猜你喜欢
随机推荐
B005 – 基于STC8的单片机智能路灯控制系统
深圳市商务局2022年度中央资金(跨境电子商务企业市场开拓扶持事项)申报指南
加州大学|通过图抽象从不同的第三人称视频中进行逆强化学习
【Day_09 0427】走方格的方案数
QPalette调色板、框架色彩填充
力扣每日一题-第45天-697. 数组的度
生物制药产业发展现状和趋势展望
TCP million concurrent server optimization parameters
中信证券是国内十大券商吗?怎么开户安全?
QLineEdit学习与使用
百度网盘下载速度提升100倍
基于ORB-SLAM2的改进代码
SQL窗口函数
研发团队数字化转型实践
SQL函数 TO_CHAR(一)
广汽埃安“弹匣电池”,四大核心技术,出行安全保障
opencv实时人脸检测
【R语言】对图片进行裁剪 图片批量裁剪
小贝拉机器人是朋友_普渡科技召开新品发布会,新一代送餐机器人“贝拉”温暖登场...
M1芯片电脑安装cerebro