当前位置: 首页 > news >正文

天津市建设 银行网站梧州房地产信息网官网

天津市建设 银行网站,梧州房地产信息网官网,梅州兴宁网站建设,wordpress 鼠标悬停事件74. 搜索二维矩阵 - 力扣(LeetCode) 给你一个满足下述两条属性的 m x n 整数矩阵: 每行中的整数从左到右按非递减顺序排列。每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target ,如果 target 在矩阵中,返…

74. 搜索二维矩阵 - 力扣(LeetCode)

给你一个满足下述两条属性的 m x n 整数矩阵:

  • 每行中的整数从左到右按非递减顺序排列。
  • 每行的第一个整数大于前一行的最后一个整数。

给你一个整数 target ,如果 target 在矩阵中,返回 true ;否则,返回 false 。

示例 1:

输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3
输出:true

示例 2:

输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13
输出:false

提示:

  • m == matrix.length
  • n == matrix[i].length
  • 1 <= m, n <= 100
  • -104 <= matrix[i][j], target <= 104
class Solution {public boolean searchMatrix(int[][] matrix, int target) {int matrixSize = matrix.length;int matrixColSize = matrix[0].length;int len = matrixSize * matrixColSize;int right = len - 1;int left = 0;int mid = 0;int row ,col;while(left < right) {mid = (left+right) / 2;row = mid/matrixColSize;col = mid%matrixColSize;if(matrix[row][col] <= target)  left = mid+1;else if(matrix[row][col] > target) right = mid;}System.out.println(left);System.out.println(matrixColSize);row = left/matrixColSize;col = left%matrixColSize;if(matrix[row][col] == target) return true;left-=1;row = left/matrixColSize;col = left%matrixColSize;if(left >= 0)if(matrix[row][col] == target) return true;return false;}
}

   

class Solution {public boolean searchMatrix(int[][] matrix, int target) {int matrixSize = matrix.length;int matrixColSize = matrix[0].length;int row = matrixSize-1;while(row >= 0 && matrix[row][0] > target) row-=1;if(row < 0 ) return false;int left = 0;int right = matrixColSize - 1;while(left < right) {int mid = (left+right) / 2;if(matrix[row][mid] > target) right = mid;else if(matrix[row][mid] <= target) left = mid+1;}System.out.println(left);System.out.println(row);if(matrix[row][left]==target || (left - 1 >= 0&&matrix[row][left-1]==target)) return true; return false;}
}

        每日一题,今天是中等题。也是和二分有关。

        这是一道矩阵搜索的题目。从左到右,从上到下是递增的,又是搜索数,所以很快能够想到二分查找。

        那就是怎么二分查找的问题而已了。这里博主给出两种方法。

       第一种:把整个矩阵当作一个大数组,len = row*col。而二维矩阵的列和行地址无非就是除col和模col就可以得到了,那其他地方就当作正常的二分查找就可以了,具体的代码就是第一种方案。

        第二种:由于整个矩阵是递增的,也就是说,最左边的一定是最小的,那只要去比较最左边的数和target的值就可以了,找到最左边数小于target的那一行,那么target要么在那一行,要么就bu'jian

http://www.yayakq.cn/news/715230/

相关文章:

  • 北京做的比较好的网站公司吗百度快速排名软件
  • 北京网站建设价格低怎么做网页作业
  • 网站开发公司网站网站开发文档是什么概念
  • 江门网站制作流程小学生编程课主要学什么
  • 各大游戏网站 最新版天堂资源在线
  • 淘宝做海淘产品 网站折扣变化快微信公众号怎么创建桌面快捷方式
  • 旅游网站建设的好处企业邮箱怎么注册免费
  • 做网站要以单位嘉兴市城市建设门户网站
  • 嘉兴做网站建设室内设计网站公司
  • 四川建设网网网站维护电话网站及建设中页面
  • wordpress响应式后台网页seo
  • 网站的支付系统怎么做学生制作个人网站
  • 做网站怎么插音乐网站页面做
  • 品牌网站建设 2蝌蚪小网页设计师培训价格
  • 福建省网站建设网络营销推广方案心得
  • 做电影网站用什么服务器wordpress小程序课程
  • 做网站咋不用买虚拟机国外黄冈网站推广软件免费吗
  • 不用js可以做网站吗淄博网站seo
  • 网站很难被百度收录下载网站站开发
  • 东莞市长安网站建设公司泰安网站建设dxkjw
  • 北京4网站建设怎么自己做代刷网站
  • flash互动网站开发wordpress实验室模板
  • 网站开发的工作流程网站建设费怎样摊销
  • 东兴网站建设如何找厂家地址
  • 网站多久备案一次吗海淀区玉泉小学网站 建设方
  • 社交媒体 网站卧龙区网站建设页面
  • 免费做链接的网站吗wordpress网站实现微信登录
  • 校园网站建设管理工作制度下载app的软件并安装
  • 做网站运营的要求首页网站怎么做的
  • 网站开发模合同生物科技公司网站模板