LintCode 28. 搜索二维矩阵
import org.junit.Test;import java.util.Arrays;public class SearchMatrix {/*** @param matrix: matrix, a list of lists of integers* @param target: An integer* @return: a boolean, indicate whether matrix contains target* <p>* 28. 搜索二维矩阵* 写出一个高效的算法来搜索 m × n矩阵中的值。* <p>* 这个矩阵具有以下特性:* <p>* 每行中的整数从左到右是排序的。* 每行的第一个数大于上一行的最后一个整数。* 样例* 考虑下列矩阵:* <p>* [* [1, 3, 5, 7],* [10, 11, 16, 20],* [23, 30, 34, 50]* ]* 给出 target = 3,返回 true* <p>* 挑战* O(log(n) + log(m)) 时间复杂度*/public boolean searchMatrix(int[][] matrix, int target) {// write your code hereint i = 0;for (; i < matrix.length; i++) {if (matrix[i][0] == target) {return true;} else if (matrix[i][0] > target) {break;}}if (i == 0) {return false;}int result = Arrays.binarySearch(matrix[i - 1], target);if (result >= 0) {return true;} else {return false;}}@Testpublic void testSearchMatrix() {int[][] testArray = {{1, 3, 5, 7}, {10, 11, 16, 20}, {23, 30, 34, 50}};System.out.println(searchMatrix(testArray, 7));}
}
转载于:https://www.cnblogs.com/wei1/p/9582034.html
LintCode 28. 搜索二维矩阵相关推荐
- python 搜索二维矩阵
搜索二维矩阵 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值.该矩阵具有如下特性: 每行中的整数从左到右按升序排列. 每行的第一个整数大于前一行的最后一个整数. 示例 1: 输入:m ...
- LeetCode Algorithm 240. 搜索二维矩阵 II
240. 搜索二维矩阵 II Ideas 这题我记得在左神算法初级班里面有. 主要的思想就是定义两个指针row_index和col_index,从右上角开始逐个搜索. 如果matrix[row_ind ...
- LeetCode 240. 搜索二维矩阵 II(二分查找 分治)
文章目录 1. 题目 2. 解题 2.1 从左下角或者右上角开始搜索 2.2 分治算法 1. 题目 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target.该矩阵具有以 ...
- 【LeetCode】【HOT】240. 搜索二维矩阵 II(抽象二叉搜索树)
[LeetCode][HOT]240. 搜索二维矩阵 II 文章目录 [LeetCode][HOT]240. 搜索二维矩阵 II package hot;public class Solution24 ...
- 利用可达矩阵判断连通性_leetcode240. 搜索二维矩阵 II
leetcode240. 搜索二维矩阵 II 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target.该矩阵具有以下特性: 每行的元素从左到右升序排列. 每列的元素从上 ...
- Java 搜索二维矩阵 II
搜索二维矩阵 II 中等 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target .该矩阵具有以下特性: 每行的元素从左到右升序排列. 每列的元素从上到下升序排列. 示 ...
- LeetCode 07: T48. 旋转图像 (中等); T54. 螺旋矩阵(中等); T240. 搜索二维矩阵 II (中等)
文章目录 T19: 48. 旋转图像 (中等) 思路 解法 1: 新增数组 解法 2: 原地旋转 T20: 54. 螺旋矩阵(中等) 思路 解法: 到边界换方向 T21: 240. 搜索二维矩阵 II ...
- Python每日一练(20230307) 重复DNA序列、搜索二维矩阵、买卖股票的最佳时机IV
目录 1. 重复的DNA序列 ★★ 2. 搜索二维矩阵 ★★ 3. 买卖股票的最佳时机 IV ★★★
- 搜索二维矩阵II(分治法和蛇行)
问题来源:力扣算法面试汇总 问题描述:编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target.该矩阵具有以下特性: 每行的元素从左到右升序排列. 每列的元素从上到下升序 ...
最新文章
- django模型sqlserver_让Django模型在MSSQL上工作的麻烦?
- python输入一个整数倒序输出_利用Python实现倒序任意整数
- python中的浮点数用法_如何利用Python在运算后得到浮点数值的方法详解
- 多返回值函数的编写方法
- Python正则表达式-2
- php日期的怎么判断同一天,php如何判断两个时间戳是一天
- Java日期及时间库插件 -- Joda Time.
- 算法学习入门书籍 -- 2022.02.13
- matlab编程求平均,matlab中的分组平均函数grpstats的用法
- 验证控件jQuery Validation Engine调用外部函数验证
- HDU5961 —— 传递【竞赛图】【判断传递闭包】
- SpringBoot2.0整合jsp
- hook技术截取服务器信息,Windows Hook技术
- 教你学习JavaScript的this入门到进阶最全用法
- max pooling 和 average pooling
- 从Python爬虫到Spark预处理数据的真实需求[三]
- 为什么点开桌面计算机那这么慢,电脑桌面刷新反应很慢怎么办?电脑桌面刷新很慢解决方法...
- [软件工程] 面向对象设计
- 计算机复试题总结(九)
- 罗克韦尔自动化帮助简化工业生产力分析
热门文章
- java 守护进程 linux_Java实现Linux下服务器程序的双守护进程
- parallels desktop 启动过失败_使用u启动软件制作启动盘时注意哪些【详细介绍】...
- 晶体封装越小esr越大_晶振
- c++ 随机字符串_第3章 别碰白块(《C和C++游戏趣味编程》配套教学视频)
- mysql8 设置了默认值 CURRENT_TIMESTAMP 依然报null问题
- python怎么输出数组全部数据_打印numpy数组的全部内容
- java interface 默认_Java8 接口interface默认方法
- linux查看和编辑文件,查看和编辑文件(Linux的快捷键和主要命令)
- 将xml转为txt_HZ文章转短视频工具v1.0 快速将文章转为短视频 自动配音 配字幕 配图...
- data的值 如何初始化vue_理解Vue响应式系统