国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

LeetCode 74. Search a 2D Matrix

2019-11-08 01:36:06
字體:
來源:轉載
供稿:網友

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.

answer:

class Solution {public:    bool searchMatrix(vector<vector<int>>& matrix, int target) {        int m = matrix.size();        if(m == 0) return false;        int n = matrix[0].size();        if(n == 0) return false;        int mLeft = 0, mRight = m - 1, nLeft = 0, nRight = n - 1;        int mMid = 0, nMid = 0;        while(mLeft <= mRight){            mMid = (mLeft + mRight) / 2;            nMid = (nLeft + nRight) / 2;            if(matrix[mMid][nMid] > target){                if(matrix[mMid][0] > target) mRight = mMid - 1;                else if(matrix[mMid][0] < target) break;                else return true;            }            else if(matrix[mMid][nMid] < target){                if(matrix[mMid][n - 1] > target) break;                else if(matrix[mMid][n - 1] < target) mLeft = mMid + 1;                else return true;            }             else return true;        }        if(mLeft > mRight) return false;                while(nLeft <= nRight){            nMid = (nLeft + nRight) / 2;            if(matrix[mMid][nMid] < target) nLeft = nMid + 1;            else if(matrix[mMid][nMid] > target) nRight = nMid - 1;            else return true;        }        return false;    }};


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乌兰察布市| 浑源县| 雷山县| 武川县| 红安县| 都匀市| 伊宁市| 迁安市| 花莲县| 罗田县| 偏关县| 安吉县| 秦皇岛市| 西吉县| 兴化市| 施甸县| 连云港市| 大庆市| 深泽县| 吉安县| 东海县| 辽阳市| 曲阳县| 布尔津县| 乳源| 黄梅县| 金阳县| 娄烦县| 仙居县| 高雄市| 梅河口市| 河间市| 东方市| 阳西县| 福贡县| 宕昌县| 工布江达县| 泉州市| 万荣县| 南雄市| 英吉沙县|