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

电子商务网站系统详细设计的内容男女性做那个视频网站

电子商务网站系统详细设计的内容,男女性做那个视频网站,wordpress如何控制内容图片大小,wordpress mysql 密码给你一个满足下述两条属性的 m x n 整数矩阵: 每行中的整数从左到右按非严格递增顺序排列。 每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target ,如果 target 在矩阵中,返回 true ;否则,返回 false 。 …

给你一个满足下述两条属性的 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
− 10 4 -10^4 104 <= matrix[i][j], target <= 10 4 10^4 104


知识点:
数组、矩阵、二分查找、排除法


解1(非常暴力):
核心思想:定义辅助数组存储所有元素(因为每一行的第一个元素大于上一行的最后一个元素,因此可以这么操作),然后对这个辅助数组进行二分查找

时间复杂度: O ( m n ) O(mn) O(mn)
空间复杂度: O ( m n ) O(mn) O(mn)

class Solution {public boolean searchMatrix(int[][] matrix, int target) {//获取行数、列数int m = matrix.length;int n = matrix[0].length;//定义辅助数组,存储所有元素int[] nums = new int[m * n];for (int i = 0; i < m; i++) {for (int j = 0; j < n; j++) {nums[i * n + j] = matrix[i][j];}}//定义二分查找的指针int low = 0;int high = m * n - 1;//只要两个指针不重合,就继续循环while (low <= high) {//获取中位数int mid = (low + high) / 2;//判断是否存在if (nums[mid] == target) {return true;} else if (nums[mid] > target) {high = mid - 1;} else {low = mid + 1;}}//未找到return false;}
}

解2(排除法):
核心思想:同 #240. 搜索二维矩阵Ⅱ

时间复杂度: O ( m + n ) O(m+n) O(m+n)
空间复杂度: O ( 1 ) O(1) O(1)。未使用辅助数组,仅使用int类型的辅助变量。

class Solution {public boolean searchMatrix(int[][] matrix, int target) {//获取行数、列数int m = matrix.length;int n = matrix[0].length;//从右上角开始找int i = 0;int j = n - 1;//只要还有元素,就继续循环while (i < m && j >= 0) {//找到元素,返回if (matrix[i][j] == target) {return true;}//若当前元素>target,则遍历前面一列else if (matrix[i][j] > target) {j--;}//否则,遍历下面一行else {i++;}}//此时表明不存在元素return false;}
}

解3(二分查找):
核心思想:在形式上将矩阵所有元素放在一个数组中(因为每一行的第一个元素大于上一行的最后一个元素,因此可以这么操作),在实际上通过matrix[i/n][i%n]获取mid在matrix中对应的元素,然后使用二分查找

时间复杂度: O ( l o g ( m n ) ) O(log (mn)) O(log(mn))
空间复杂度: O ( 1 ) O(1) O(1)。未使用辅助数组。

class Solution {public boolean searchMatrix(int[][] matrix, int target) {//获取行数、列数int m = matrix.length;int n = matrix[0].length;//定义二分查找的指针int low = 0;int high = m * n - 1;//只要两个指针不重合,就继续循环while (low <= high) {//获取中位数int mid = (low + high) / 2;//获取矩阵对应的mid元素int item = matrix[mid / n][mid % n];//判断是否存在if (item == target) {return true;} else if (item > target) {high = mid - 1;} else {low = mid + 1;}}//未找到return false;}
}

参考:
1、灵神题解


文章转载自:

http://l2p1fq0K.gydsg.cn
http://I5mszSon.gydsg.cn
http://ZftDUW10.gydsg.cn
http://Zv4afE3T.gydsg.cn
http://tibm03rv.gydsg.cn
http://L8scrE3V.gydsg.cn
http://ytPHaaAf.gydsg.cn
http://E1G39eEp.gydsg.cn
http://w8PDa0nv.gydsg.cn
http://4ONkbFCU.gydsg.cn
http://y17GkdJN.gydsg.cn
http://zOf0LuDq.gydsg.cn
http://wtu0NJLb.gydsg.cn
http://l8fLEkdE.gydsg.cn
http://AiAWuHRp.gydsg.cn
http://rPPZxKSL.gydsg.cn
http://JbFlQ0Yd.gydsg.cn
http://tf8zDbH0.gydsg.cn
http://r8B505Z0.gydsg.cn
http://9JMdghss.gydsg.cn
http://KkS0RvAx.gydsg.cn
http://cJE6HMAK.gydsg.cn
http://YVwa9fqO.gydsg.cn
http://bW9kPZO7.gydsg.cn
http://Bc3XYX96.gydsg.cn
http://ScJO7gQ8.gydsg.cn
http://LPWGhluD.gydsg.cn
http://hvqqQ9Kf.gydsg.cn
http://vFhjPeRq.gydsg.cn
http://p2TIAXdM.gydsg.cn
http://www.dtcms.com/wzjs/774319.html

相关文章:

  • dw网站建设视频下载建设电子商务网站
  • 网站 错误代码制作好看的wordpress页面
  • 电影网站怎么做关键词海口 做网站
  • 苏州企业如何建站网上开店货源怎么找
  • 邢台网站开发公司360推广
  • 顺德新网站建设如何百度到自己的网站
  • 网络宣传网站建设定制工程建设标准
  • 希爱力双效片副作用太原seo按天计费
  • 黄页88网宁波企业名录seo公司后付费
  • saas建站没有网站源代码么菏泽网站制作
  • 做本地分类信息网站赚钱吗网页设计电脑配置推荐
  • 网站建设方案免费企业解决方案业务是什么
  • 做企业网站 排名兴宁市住房和城乡规划建设局网站
  • 中小企业是用什么来做网站的开发的创意策划网站
  • 天河网站建设网络推广青岛百度seo排名
  • wordpress %2$swindows优化大师最新版本
  • 大学网站建设技术方案东莞seo建站推广费用
  • 宜州网站建设服务网站后台怎么修改文字
  • 如何建设公司网站知乎东莞网站推广春
  • 网站设计合同模板做英语手抄报 什么网站
  • 网站建设doc建设网站团队
  • 如何自己创建网站教程代理网站备案收钱
  • 深圳做网站找哪家好口碑好网站建设开发
  • 网站做关键词搜索要好多钱百度指数是什么
  • 建设手机网站包括哪些费用吗高端网站建设哪个好
  • 棋牌网站搭建平台网站平台建设的当前问题
  • 做百度移动端网站排名软件网站建设需求分析表怎么写
  • 卖网站链接ppt做的好的有哪些网站有哪些
  • 许昌市做网站网站建设推广代理公司
  • 网站开发怎么做浙江省建筑信息港