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 +"不在数组中");
    }

    }

    }

  • 相关阅读:
    SQL SERVER 2008的数据压缩
    protected,internal和protected internal
    CSS笔记
    太吓人了!妈妈必看:国内人贩子抢孩子竟使出狠招
    ASP.NET上传图片的简单方法
    VS2005快捷键大全
    判断ExecuteScalar()是否返回结果
    AppSettings和ConnectionStrings的区别
    VSS中的签入和签出
    对目前工作烦躁的人来看看,你真正明白多少
  • 原文地址:https://www.cnblogs.com/zhuozige/p/12369557.html
Copyright © 2011-2022 走看看