LeetCode实战:搜索二维矩阵
题目英文
Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the following properties:
- Integers in each row are sorted from left to right.
- The first integer of each row is greater than the last integer of the previous row.
Example 1:
Input:
matrix = [[1, 3, 5, 7],[10, 11, 16, 20],[23, 30, 34, 50]
]
target = 3
Output: true
Example 2:
Input:
matrix = [[1, 3, 5, 7],[10, 11, 16, 20],[23, 30, 34, 50]
]
target = 13
Output: false
题目中文
编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:
- 每行中的整数从左到右按升序排列。
- 每行的第一个整数大于前一行的最后一个整数。
示例 1:
输入:
matrix = [[1, 3, 5, 7],[10, 11, 16, 20],[23, 30, 34, 50]
]
target = 3
输出: true
示例 2:
输入:
matrix = [[1, 3, 5, 7],[10, 11, 16, 20],[23, 30, 34, 50]
]
target = 13
输出: false
算法实现
public class Solution
{public bool SearchMatrix(int[][] matrix, int target){if (matrix == null)return false;int rows = matrix.Length;for (int i = 0; i < rows; i++){if (matrix[i] == null || matrix[i].Length == 0)return false;int j = matrix[i].Length - 1;if (matrix[i][j] == target)return true;if (matrix[i][j] > target)return BinSearch(matrix[i], target);}return false;}public bool BinSearch(int[] key, int target){int left = 0;int right = key.Length;while (left <= right){int mid = (left + right)/2;if (key[mid] == target)return true;if (key[mid] < target)left = mid + 1;elseright = mid - 1;}return false;}
}
实验结果
测试用例:
输入:[[]]
1输出:false
相关图文:
- LeetCode实战:删除链表的倒数第N个节点
- LeetCode实战:合并两个有序链表
- LeetCode实战:两两交换链表中的节点
- LeetCode实战:旋转链表
- LeetCode实战:相同的树
- LeetCode实战:对称二叉树
- 如何利用 C# 实现 K 最邻近算法?
- 如何利用 C# 实现 K-D Tree 结构?
- 如何利用 C# + KDTree 实现 K 最邻近算法?
- 如何利用 C# 对神经网络模型进行抽象?
- 如何利用 C# 实现神经网络的感知器模型?
- 如何利用 C# 实现 Delta 学习规则?
- 如何利用 C# 爬取 One 持有者返利数据!
- 如何利用 C# 爬取BigOne交易所的公告!
- 如何利用 C# 爬取 ONE 的交易数据?
- 如何利用 C# 爬取「京东 - 计算机与互联网图书销量榜」!
- 如何利用 C# 爬取「当当 - 计算机与互联网图书销量榜」!
- 如何利用 C# 爬取「猫眼电影专业版:票房」数据!
- 如何利用 C# 爬取「猫眼电影:国内票房榜」及对应影片信息!
- 如何利用 C# 爬取带 Token 验证的网站数据?
LeetCode实战:搜索二维矩阵相关推荐
- LeetCode 240. 搜索二维矩阵 II(二分查找 分治)
文章目录 1. 题目 2. 解题 2.1 从左下角或者右上角开始搜索 2.2 分治算法 1. 题目 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target.该矩阵具有以 ...
- leetcode 74. 搜索二维矩阵(二分)
编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值.该矩阵具有如下特性: 每行中的整数从左到右按升序排列. 每行的第一个整数大于前一行的最后一个整数. 示例 1: 输入:matrix = ...
- 【leetcode】搜索二维矩阵 II
题目: 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target.该矩阵具有以下特性: 每行的元素从左到右升序排列. 每列的元素从上到下升序排列. 示例: 现有矩阵 ma ...
- LeetCode 74. 搜索二维矩阵(二分查找)
1. 题目 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值.该矩阵具有如下特性: 每行中的整数从左到右按升序排列. 每行的第一个整数大于前一行的最后一个整数. 示例 1: 输入: m ...
- Leetcode 74. 搜索二维矩阵 (每日一题 20210907)
编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值.该矩阵具有如下特性:每行中的整数从左到右按升序排列. 每行的第一个整数大于前一行的最后一个整数.示例 1:输入:matrix = [[ ...
- Leetcode 240.搜索二维矩阵II (每日一题 20210727 同一题)
编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target .该矩阵具有以下特性:每行的元素从左到右升序排列. 每列的元素从上到下升序排列.示例 1:输入:matrix = ...
- LeetCode 240. 搜索二维矩阵
因为矩阵的行和列是排序的(分别从左到右和从上到下),所以在查看任何特定值时,我们可以修剪O(m)O(m)或O(n)O(n)元素. 算法: 首先,我们初始化一个指向矩阵左下角的 (row,col)(ro ...
- leetcode 240. 搜索二维矩阵 II
编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target.该矩阵具有以下特性: 每行的元素从左到右升序排列. 每列的元素从上到下升序排列. 示例: 现有矩阵 matrix ...
- [leetcode]240. 搜索二维矩阵 II
行.列二分: class Solution {public:bool binsearch(vector<vector<int>>& matrix, int target ...
- 【LeetCode】【HOT】240. 搜索二维矩阵 II(抽象二叉搜索树)
[LeetCode][HOT]240. 搜索二维矩阵 II 文章目录 [LeetCode][HOT]240. 搜索二维矩阵 II package hot;public class Solution24 ...
最新文章
- RabbitMQ C Client编译
- phpstrom 里面的 文件修改后 的*怎样设置
- 详解WordPress中简码格式标签编写的基本方法
- 收藏!细胞增殖实验要点详解
- Hibernate Mysql 写入中文乱码 解决方法
- 我经常访问的技术网站
- spring_redis整合
- 拒绝版权流氓!阿里巴巴重磅发布免费商用字体
- 【Python】Tkinter教程
- 软件开发成本工作量估算
- java考试座位号_怎么用java编写出座位号(1.0)这样格式?
- 写入文件(覆盖文件的内容)
- java显示数据库_java查询数据库中的数据并显示
- 版权问题某些资源无法下载
- 用keras采用DCGAN网络生成三国群英传7的人物头像
- SDRAM突发读写注意
- 飞利浦 V808 android
- lms消噪声matlab,关于LMS去噪声的仿真
- 电路原理图中的各种地(数字地、模拟地、信号地、直流地、交流地、屏蔽地)的区别
- 嵌入式开发 1 -8051单片机的结构体系(待更)