LeetCode-74. Search a 2D Matrix
来源:互联网 发布:适合苹果电脑的软件 编辑:程序博客网 时间:2024/06/06 10:42
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.
For example,
Consider the following matrix:
[ [1, 3, 5, 7], [10, 11, 16, 20], [23, 30, 34, 50]]
Given target = 3, return true.
首先确定在哪一行然后再进行二分查找。
package solutions._74;import jdk.nashorn.internal.ir.IfNode;class Solution { private boolean BinarySearch(int[] arr, int target) { int left = 0; int right = arr.length - 1; while (left <= right) { int mid = left + (right - left) / 2; if (arr[mid] > target) { right = mid - 1; } else if (arr[mid] < target) { left = mid + 1; } else { return true; } } return false; } public boolean searchMatrix(int[][] matrix, int target) { if (matrix.length == 0 || matrix[0].length == 0) { return false; } int i; int row = -1; for (i = 0; i < matrix.length - 1; i++) { if (target >= matrix[i][0] && target < matrix[i + 1][0]) { row = i; break; } } if (row == -1) { row = i; } return BinarySearch(matrix[row], target); } public static void main(String[] args) { Solution solution = new Solution(); int[][] matrix = new int[][]{ {1, 3, 5, 7}, {10, 11, 16, 20}, {23, 30, 34, 50}}; int target = 3; System.out.println(solution.searchMatrix(matrix, target)); }}
阅读全文
0 0
- LeetCode 74. Search a 2D Matrix
- [LeetCode]74.Search a 2D Matrix
- LeetCode --- 74. Search a 2D Matrix
- [Leetcode] 74. Search a 2D Matrix
- [leetcode] 74.Search a 2D Matrix
- Leetcode 74. Search a 2D Matrix
- [LeetCode]74. Search a 2D Matrix
- 74. Search a 2D Matrix LeetCode
- [LeetCode]74. Search a 2D Matrix
- [LeetCode]74. Search a 2D Matrix
- leetcode 74. Search a 2D Matrix
- LeetCode 74. Search a 2D Matrix
- LeetCode 74. Search a 2D Matrix
- LeetCode *** 74. Search a 2D Matrix
- leetcode 74. Search a 2D Matrix
- LeetCode 74. Search a 2D Matrix
- leetcode-74. Search a 2D Matrix
- [leetcode] 74. Search a 2D Matrix
- 流媒体
- $.ajax的修改或重写,需要用jQuery.ajaxSetup()
- Effective STL 45
- 浅谈Android系统开发中LOG的使用
- PHP中new static()与new self()的区别及5.2版本重写5.3
- LeetCode-74. Search a 2D Matrix
- TCP/IP三次握手四次挥手详解
- 征信莫名就黑了,黑了之后该怎么办?
- Keil MDK从未有过的详细使用讲解
- java 3笔记
- php 接口安全检查--防止url链接或者接口地址暴露后,网站被恶意攻击
- 使用Navicat Premium将Oracle数据库中的表和数据迁移到MySQL数据库中,遇到的Date类型出现精度问题及解决方法
- 什么叫"定向广告"?定向传播有哪些好处
- Multilib version problems found. This often means that the root...