首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >剑指Offer面试题:2.二维数组中的查找

剑指Offer面试题:2.二维数组中的查找

作者头像
全栈程序员站长
发布2022-07-14 19:00:49
发布2022-07-14 19:00:49
2570
举报

大家好,又见面了,我是全栈君

一 题目:二维数组中的查找

题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的二维数组和一个整数判读数组中是否含有该整数。

二 代码实现

代码语言:javascript
复制
#include "stdio.h"
#include <iostream>
using namespace std;

int a[16] = {1,2,8,9,
             2,4,9,12,
             4,7,10,13,
             6,8,11,15};

bool Find(int *a, int row, int col, int data)
{
    int i = row - 1;
    int j = 0;
    bool bFind = false;
    if (a)
    {
        while (i >=0 && j < col)
        {
            if (data > a[i+j*col])
            {
                j ++;
            }
            else if (data < a[i+j*col])
            {
                i --;
            }
            else
            {
                bFind = true;
                cout << i << " " << j << endl;
                break;
            }
        }
    }
    
    return bFind;
}
void main()
{
    bool ret = Find(a, 4, 4, 11);
    cout << ret << endl;
    return;
}

>>> 2 3 >>> 1

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/120174.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021年12月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一 题目:二维数组中的查找
  • 二 代码实现
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档