zoukankan      html  css  js  c++  java
  • 二维数组中的查找

    题意:
    在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
    思路:
    因为数组是有序,从左到右递增,从上到下递增。那我们可以从左下或者右上开始查找。比如我们从左上开始查找,如果数组元素大于给定的数,那么肯定就是给定的数在数组元素的上面,如果小于给定的数,那么就是在右边。
    下面给出实现代码:

    #include<stdio.h>
    #include<string.h>
    int f[100][100];
    int main(){
        int n,m,k;
        scanf("%d %d %d",&n,&m,&k);
        for(int i=0;i<n;i++){
            for(int j=0;j<m;j++){
                scanf("%d",&f[i][j]);
            }
        }
        int i=n-1;j=0;
        int flag=0;
        while(i>0&&j<m){
            if(f[i][j]==k){
                flag=0;
                break;
            }
            if(f[i][j]<k){
                j++;
                continue;
            }
            if(f[i][j]>k)
            {
                i--;
                continue;
            }
        }
        if(flag)
            printf("存在");
        else
            printf("不存在");
    }
  • 相关阅读:
    迟滞电压比较器
    单调谐小信号放大器
    汇编指令
    渗透测试之信息收集
    DVWA——文件包含
    DVWA——文件上传
    文件上传漏洞与利用
    在Metasploit中使用PostgreSQL
    软件安装方法
    XML外部实体(XXE)
  • 原文地址:https://www.cnblogs.com/NaCl/p/9580099.html
Copyright © 2011-2022 走看看