首页 > 其他分享 >每日一练(剑指offer)二维数组中的查找

每日一练(剑指offer)二维数组中的查找

时间:2023-02-20 14:01:29浏览次数:51  
标签:target offer int param 二维 查找 数组 array true

描述

在一个二维数组array中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

[

[1,2,8,9],
[2,4,9,12],
[4,7,10,13],
[6,8,11,15]

]

给定 target = 7,返回 true。

给定 target = 3,返回 false。

数据范围:矩阵的长宽满足 

每日一练(剑指offer)二维数组中的查找_数组

 , 矩阵中的值满足 

每日一练(剑指offer)二维数组中的查找_二维数组_02


进阶:空间复杂度 

每日一练(剑指offer)二维数组中的查找_整型_03

 ,时间复杂度 

每日一练(剑指offer)二维数组中的查找_二维数组_04

示例

输入:

7,[[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]]

返回值:

true

说明:

存在7,返回true

分析

该问题和杨氏矩阵一样,首先假设二维数组中的一个元素,设在左下角(右上角效果相同),使该元素和目标元素进行比较,如果比目标函数大,就x--(使左下角元素向上查找)如果比目标函数小就y++(使元素向右查找),使该过程循环就可以查找所有函数。注循环条件(x>=0&&y<=总列-1)

/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param target int整型
* @param array int整型二维数组
* @param arrayRowLen int array数组行数
* @param arrayColLen int* array数组列数
* @return bool布尔型
*/
#include <stdbool.h>
bool Find(int target, int** array, int arrayRowLen, int* arrayColLen ) {
// write code here
int x=arrayRowLen-1;
int y=0;
while(x>=0&&y<=*arrayColLen)
{
if(array[x][y]>target)
{
x--;
}
else if(array[x][y]<target)
{
y++;
}
else
{
return true;
//找到了
}
}
return false;;
}

链接

​https://www.nowcoder.com/practice/abc3fe2ce8e146608e868a70efebf62e​

标签:target,offer,int,param,二维,查找,数组,array,true
From: https://blog.51cto.com/u_15501985/6068491

相关文章

  • python 二分查找算法
    python二分查找算法 楔子如果有这样一个列表,让你从这个列表中找到66的位置,你要怎么做?l=[2,3,5,10,15,16,18,22,26,30,32,35,41,42,43,55,56,66,67,69,72,76,82,......
  • uni-app api:扫描二维码(hbuilderx 3.6.18)
    一,代码:<template><view><button@click="scanCode">扫码</button><text>扫码类型:{{scanType}}</text><text>扫码内容:{{result}}</text>......
  • 【查找算法】解析学习四大常用的计算机查找算法 | C++
    第二十二章四大查找算法:::hljs-center目录第二十二章四大查找算法●前言●查找算法●一、顺序查找法1.什么是顺序查找法?2.案例实现●二、二分查找法1......
  • 扫扫二维码
    高效的二维码工具,支持自动对焦,扫描自动分类保存,分类包括二维码格式: 1)二维码网址2)二维码名片/通讯录3)文本二维码4)短信二维码5)电话二维码6)电子邮件二维码7)地......
  • 【LeeCode】剑指 Offer 58 - II. 左旋转字符串
    【题目描述】字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回......
  • noi1.9.1:查找特定的值
    戳我......
  • 剑指 Offer 34. 二叉树中和为某一值的路径(java解题)
    目录1.题目2.解题思路3.数据类型功能函数总结4.java代码1.题目给你二叉树的根节点root和一个整数目标和targetSum,找出所有从根节点到叶子节点路径总和等于给......
  • 一列转二维表(Power Query)
    问题:一列数据,每7行为一组数据,每组数据横向排列,标题独立。let源=Excel.CurrentWorkbook(){[Name="表1"]}[Content],加索引=Table.AddIndexColumn(源,"索引......
  • 二叉树||二叉树的遍历||排序二叉树||二分查找
    二叉树根节点叶子节点:左叶子节点右叶子节点树的层级树的高度二叉树的遍历广度优先遍历一层一层对节点进行遍历深度优先遍历前序:根......
  • 查找bean的思路
     思考bean的查找顺序       ......