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

dede游戏网站模板谷歌浏览器官网下载手机版

dede游戏网站模板,谷歌浏览器官网下载手机版,永久免费企业网站建设,wordpress 当前页一. 简介 本文记录力扣网上题目,涉及数组,双指针的逻辑题:在二维矩阵中搜索某个元素值。 二. 力扣网C语言编程题:搜索二维矩阵 题目:搜索二维矩阵 给你一个满足下述两条属性的 m x n 整数矩阵: 每行…

一. 简介

本文记录力扣网上题目,涉及数组,双指针的逻辑题:在二维矩阵中搜索某个元素值。

二. 力扣网C语言编程题:搜索二维矩阵

题目:搜索二维矩阵

给你一个满足下述两条属性的 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

解题思路一:(直接查找)

第一直觉可以直接在二维数组中进行查找的方法,不过这种方法的时间复杂度为O(n*n),比较高。空间复杂度为 O(1);

C语言实现如下:

//暴力解法
bool searchMatrix(int** matrix, int matrixSize, int* matrixColSize, int target) {int i,j;bool result = false;//matrixSize为二维数组的行for(i = 0; i < matrixSize; i++) {//(*matrixColSize)为二维数组的列for(j = 0; j < (*matrixColSize); j++) {if(matrix[i][j] == target) {result = true;break;}}}return result;
}

解题思路二:(二分查找法)

根据题目说明,每行元素递增,每行首元素小于上一行的最后一个元素,也就是说,可以把这个二维矩阵看作一维数组,使用二分查找法查找元素。

如果二维矩阵有m行,n列;

总共有元素个数:m*n-1;

对任意一个一维数组的索引 index,它在二维数组中的位置为:

行号:index / n

列号:index % n

C语言实现如下:

//二分查找法
bool searchMatrix(int** matrix, int matrixSize, int* matrixColSize, int target) {if (matrixSize == 0 || matrixColSize[0] == 0) {return false;}int m = matrixSize; //行数int n = matrixColSize[0]; //每个元素代表对应行的列数(假设每列元素个数一样)int left = 0;int right = m*n-1;int mid = 0;while(left <= right) {mid = (left + right) / 2;int r_index = mid / n;int c_index = mid % n;//matrix[r_index][c_index] 也就是对应一维数组的nums[mid]int element = matrix[r_index][c_index];if(element == target) {return true;}//element < target,说明 target在数组的右边,选右半区间else if(element < target) {left = mid + 1;}else {//element > target,说明target在数组左边,选左半边区间right = mid - 1;}}return false;
}

可以看出,二分查找法每一次迭代查找时区间都会取区间的一半,所以时间复杂度为 O(logn)。

http://www.dtcms.com/wzjs/428.html

相关文章:

  • 敦煌网站做外贸怎样seo流量工具
  • 哈尔滨疫情风险等级seo数据统计分析工具有哪些
  • 网站建设在香港受大陆管辖吗广告软文
  • wordpress 站群xmlrpc深圳网站设计专业乐云seo
  • 做设计的平台关键词排名优化方法
  • 此网站可能有海淀区seo全面优化
  • 北京网站改版有什么用加强服务保障 满足群众急需需求
  • 广西住房与城乡建设厅网站下拉词排名
  • 重庆网站制作特点优势网站运维
  • 运城网站制作百度一下网页首页
  • 哪个网站专做二手相机查关键词排名网
  • 网页欣赏网站沧州网站建设
  • dedecms 做网站技能培训学校
  • 点子网站制作互联网营销方式
  • 高端品牌网站建设竞价推广运营
  • xp做网站服务器吗谷歌搜索引擎入口google
  • 广东网站建设服务百度sem竞价推广电子书
  • 做网站需要哪些人手软文编辑器
  • 网站霸屏怎么做深圳网络营销推广公司
  • 做招聘网站的需求分析关键词歌词林俊杰
  • 网站 微信公众号 建设方案seo整站优化外包公司
  • 网站建设要什么搜索排名竞价
  • 陕西省住房和城乡建设网站国内新闻最新5条
  • dreamweaver怎么制作网站独立站建站平台有哪些
  • 3d模拟设计房子软件seo中文意思
  • 做球球棒棒糖网站源码营销计划书7个步骤
  • 犀牛云网站做的怎么样永久免费域名注册
  • 电子规划书商务网站建设seo网站结构优化
  • 网站制作包括数据库吗营销培训心得体会
  • 做网站开发 用的最多的语言永久开源的免费建站系统