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

一题目:二维数组中的查找二代码实现>>>23>>>1

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

全栈程序员社区此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“验证码”,获取验证码。在微信里搜索“全栈程序员社区”或者“www_javaforall_cn”或者微信扫描右侧二维码都可以关注本站微信公众号。

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

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

二 代码实现

#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.net/120174.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Charles抓包显示乱码解决方法

    Charles抓包显示乱码解决方法

    2021年6月16日
  • 锁定屏幕相关知识「建议收藏」

    锁定屏幕相关知识「建议收藏」  (1)LockWorkStation()锁定当前用户返回到登录界面 (2)HKEY_CURRENT_USER/Software/Microsoft/Windows/CurentVersion/Polioies/Explores下的”NoSaveSetting”值为1则禁止修改桌面(需要重启) (3)HKEY_CURRENT_USER/Software//microsof

    2022年7月21日
  • 体检信息管理系统功能表

    体检信息管理系统功能表

    2022年1月30日
  • カード名義_acm题

    カード名義_acm题原题链接给定一棵包含 n 个节点的有根无向树,节点编号互不相同,但不一定是 1∼n。有 m 个询问,每个询问给出了一对节点的编号 x 和 y,询问 x 与 y 的祖孙关系。输入格式输入第一行包括一个整数 表示节点个数;接下来 n 行每行一对整数 a 和 b,表示 a 和 b 之间有一条无向边。如果 b 是 −1,那么 a 就是树的根;第 n+2 行是一个整数 m 表示询问个数;接下来 m 行,每行两个不同的正整数 x 和 y,表示一个询问。输出格式对于每一个询问,若 x 是 y 的祖先则输

    2022年8月8日
  • 数据预处理的一些知识「建议收藏」

    数据预处理的一些知识「建议收藏」数据预处理的一些知识做研究时只要与数据分析相关就避免不了数据预处理。我们常见的预处理包括:标准化(规范化),归一化,零均值(化),白化,正则化……这些预处理的目的是什么呢?网上查的总是零零散散,很难搞清楚。因此我用此片博客来总结下。借鉴其他博客的内容,可能未一一注明还请谅解。一,数据标准化目的:为了消除量纲影响和变量自身数值大小的影响,方便统计处理(尤其是加权),故将数据标准化。例如:我们对

    2022年11月2日
  • JSTAT分析_jstat命令详解

    JSTAT分析_jstat命令详解S0S1EOMCCSYGCYGCTFGCFGCTGCT21.220.0040.5976.4381.2580.972212513.28633.413516.69921.220.0040.5976.4381.2580.9

    2022年9月12日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号