LeetCode——Search a 2D Matrix

來源:互聯網
上載者:User

標籤: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.

For example,

Consider the following matrix:

[  [1,   3,  5,  7],  [10, 11, 16, 20],  [23, 30, 34, 50]]

Given target = 3, return true.

原題連結:https://oj.leetcode.com/problems/search-a-2d-matrix/

題目:在m * n 的矩陣中尋找目標值是否存在。

比較好的辦法就是二分尋找,即將矩陣整體看成一個數組來處理。

public boolean searchMatrix(int[][] matrix, int target) {if(matrix == null || matrix.length == 0 || matrix[0].length == 0)return false;int m = matrix.length;int n = matrix[0].length;int start = 0;int end = m * n - 1;while (start <= end) {int mid = (start + end) / 2;int x = mid / n;int y = mid % n;if (matrix[x][y] == target)return true;if (matrix[x][y] < target)start = mid + 1;elseend = mid - 1;}return false;}


LeetCode——Search a 2D Matrix

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.