美文网首页
面试题4:二维数组中的查找

面试题4:二维数组中的查找

作者: scott_alpha | 来源:发表于2019-10-04 11:50 被阅读0次

题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样一个二维数组和一个整数,判断数组中是否含有该整数。
思路:挑选二维数组右上角的数,如果比给定的整数大,则往左移动一列,再次比较大小;如果比给定的数字小,则往下移动一行,再次比较大小,直到找到想等的数值或者不存在。
解决方案:

 public static boolean find(int[][] matrix, int rows, int columns, int number){
        boolean found = false;
        if (matrix != null && rows > 0 && columns > 0){
            int row = 0;
            int column = columns - 1;
            while (row < rows && column >= 0){
                if (matrix[row][column] == number){
                    found = true;
                    break;
                }
                else if (matrix[row][column] > number){
                    --column;
                }
                else
                    ++row;
            }
        }
        return found;
    }

相关文章

  • 剑指offer

    面试题3——数组中重复的数字 使用LinkedHashMap,有序存放。 面试题4——二维数组中的查找 首先选...

  • 剑指offer面试题分类总结

    数组: 面试题3:数组中重复的数字面试题4:二维数组中的查找面试题21:调整数组顺序使奇数位于偶数前面面试题39:...

  • 2.3.1 数组

    面试题3:数组中重复的数字 面试题4:二维数组中的查找 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一...

  • 剑指offer第二版-4.二维数组中的查找

    本系列导航:剑指offer(第二版)java实现导航帖 面试题4:二维数组中的查找 题目要求:一个二维数组中,每一...

  • 二维数组中的查找

    《剑指offer》面试题4:二维数组中的查找 题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都...

  • 剑指offer每日一更

    题目 // 面试题4:二维数组中的查找// 题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按...

  • LeetCode | 面试题04. 二维数组中的查找【剑指Off

    LeetCode 面试题04. 二维数组中的查找【剑指Offer】【Easy】【Python】【数组】 问题 力扣...

  • 《剑指Offer》-Exercise(C语言)

    面试题4:二维数组中的查找 面试题6:从尾到头打印链表 单链表从尾到头打印(用栈或递归) 单链表结构 面试题7:重...

  • 剑指offer目录

    目录 面试题3 在二维数组中查找 面试题15 链表中倒数第K个数 面试题16 反转链表 面试题44 扑克牌的顺子

  • 算法题

    行列都是有序的二维数组,查找k是否存在【查找法】 二维数组中的查找(行列分别有序数组的二分查找)【递归法】 快速排...

网友评论

      本文标题:面试题4:二维数组中的查找

      本文链接:https://www.haomeiwen.com/subject/faojpctx.html