zoukankan      html  css  js  c++  java
  • 剑指offer(Java版)第二题 /*在一个二维数组中,每一行都按照从左到右递增的顺序排序, * 每一列都按照从上到下递增的顺序排序。请完成一个函数, * 输入这样的一个二维数组和一个整数, * * * 判断数组中是否含有该整数。 */

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

    import java.util.*;

    public class Class3 {
    static class findHaveNumber{
    public boolean findHaveNumber(int[][] a, int b){
    int hor = 0; //水平方向
    int ver = a[0].length - 1; //竖直方向
    while((hor <= a.length - 1) && (ver >= 0)){
    if(a[hor][ver] == b){
    return true;
    }else if(a[hor][ver] < b){
    hor++;
    if(hor <= a.length - 1){
    ver = a[hor].length - 1;
    }
    }else if(a[hor][ver] > b){
    if(ver > 0){
    ver--;
    }else{
    ver = 0;
    }
    }else{
    return false;
    }
    }
    return false;
    }
    }

    public static void main(String[] args) {
    // TODO Auto-generated method stub
    //输入一个二维数组:
    System.out.println("输入的数组:");
    int[][] a1 = {{1},{2,3},{4,5,6},{7,8,9,10}};
    //int[][] a1 = {{1,2,3},{4,5,6},{7,8,9}};
    for(int i = 0; i < a1.length; i++){
    for(int j = 0; j < a1[i].length; j++){
    System.out.print(a1[i][j] + " ");
    }
    System.out.println();
    }
    System.out.println("输入的整数:");
    int b1 = 88;
    System.out.println(b1);
    findHaveNumber fhn = new findHaveNumber();
    boolean r = fhn.findHaveNumber(a1, b1);
    if(r == true){
    System.out.println("这个整数" + b1 +"在数组中");
    }else{
    System.out.println("这个整数" + b1 +"不在数组中");
    }

    }

    }

  • 相关阅读:
    CCPC 2020 长春站 部分简略题解
    atcoder arc106 D Powers
    循环节与拓展欧拉定理(广义欧拉降幂)
    最长公共上升子序列 题解
    namomo fish round1 A~C题解
    Codeforces Round #666 (Div. 2) A~E题解
    Educational Codeforces Round 93 Div2 A~E题解
    Codeforces Round #578 Div2 1200 A~E题解
    UVA11997 K Smallest Sums 题解
    LCA模板
  • 原文地址:https://www.cnblogs.com/zhuozige/p/12369557.html
Copyright © 2011-2022 走看看