• 九度 1384 二维数组中的查找


    #include<cstdio>
    #include<iostream>
    using namespace std;
    #define NMAX 1000010
    int arr[NMAX];
    /**
     * 只需要从左下角或右上角开始查找,即可。
     * 当是从右上角开始查找时,
     * 左上角(row = 0,column = columns - 1),
     * 1)若查找的值key大于当前的值arr[i],则说明key在此行以下,故有row++;
     * 2)若查找的值key小于当前的值arr[i],则说明key在此列的左边,故有column--;
     * 3)若相等,则返回true
     * 4)判断条件:row<rows && column >=0,若满足,继续1),若不满足,则直接返回false
     */
    bool query(int rows, int columns, int key) {
        bool flag = false;
        int column = columns - 1;
        int row = 0;
        while (row < rows && column >= 0) {
            int temp = arr[row * columns + column];
            if (temp == key) {
                flag = true;
                return flag;
            } else if (temp > key) {
                column--;
            } else {
                row++;
            }
        }
        return flag;
    }
    /**
     * 当是从左下角开始查找时,
     * 左上角(row = rows - 1,column = 0),
     * 1)若查找的值key小于当前的值arr[i],则说明key在此行以下,故有row--;
     * 2)若查找的值key大于当前的值arr[i],则说明key在此列的左边,故有column++;
     * 3)若相等,则返回true
     * 4)判断条件:row >= 0 && column < columns,若满足,继续1),若不满足,则直接返回false
     */
    bool query1(int rows, int columns, int key) {
        bool flag = false;
        int column = 0;
        int row = rows - 1;
        int temp = -1;
        while (row >= 0 && column < columns) {
            temp = arr[row * columns + column];
            if (temp == key) {
                flag = true;
                return flag;
            } else if (temp > key) {
                row--;
            } else {
                column++;
            }
        }
        return false;
    }
    int main() {
        int n, m, t, len;
        bool flag;
        while (~scanf("%d%d%d", &n, &m,&t)) {
            len = n * m;
            for (int i = 0; i < len; i++) {
                scanf("%d", arr + i);
            }
            flag = query1(n, m, t);
            if (flag) {
                printf("Yes
    ");
            } else {
                printf("No
    ");
            }
        }
        return 0;
    }
  • 相关阅读:
    上有传参下传json的接口调用
    通过群号,获取到群成员信息,下载头像到指定文件夹
    django模型 之 Meta
    k8s 日志的收集
    systemctl 管理服务
    安装JumpServer
    1 nginx的配置详解
    十六 RBAC
    python3 与linux间的小知识
    解决问题:OSError: mysql_config not found
  • 原文地址:https://www.cnblogs.com/xiaoxian1369/p/4006898.html
Copyright © 2020-2023  润新知