关闭

剑指offer--二维数组中的查找

标签: 剑指offer
230人阅读 评论(0) 收藏 举报
分类:

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


思路: 矩阵是有序的,从左下角来看,向上数字递减,向右数字递增,
因此从左下角开始查找,当要查找数字比左下角数字大时。右移。 要查找数字比左下角数字小时,上移。

public class Solution {

    public boolean Find(int target, int [][] array) {
        int rol = array.length;
        int col = array[0].length;
        for ( int i = rol - 1 , j = 0 ; i >= 0 && j < col ;){
            if ( target == array[i][j]){
                return true;
            }
            if ( target > array[i][j]){
                j++;
                continue;
            }
            if ( target < array[i][j]){
                i--;
                continue;
            }
        }
        return false;
    }
}
0
0
查看评论

剑指offer-->二维数组中的查找

这个答案不是我想出来的,而是看的书上的,然后我把答案默写出来了,不过改成c语言下可以正确运行的了,令我没想到的是c语言竟然没有bool类型,结果代码一直出错。 这里面也用到了这样一个知识点:在C/C++中,当数组作为函数的参数进行传递时,数组就自动退化为同类型的指针。 #include ty...
  • ljf913
  • ljf913
  • 2013-01-09 21:15
  • 557

剑指offer--二维数组中的查找

在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 思路: 1, 从左下角开始搜索#include <iostream> #include <vector> ...
  • heroacool
  • heroacool
  • 2015-12-24 19:16
  • 182

剑指Offer--二维数组的查找

剑指Offer–二维数组的查找题目: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 思路: 题目给定二维数组按行递增,按列递增。 1. (错误)有一种很自然的想法就是分别...
  • u011197534
  • u011197534
  • 2017-10-26 15:42
  • 26

剑指offer--二维数组的查找

记录《剑指offer》上的算法题。完整的代码例子可以在我的Github 题目:在一个二维数组中,每一行按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有这个整数。
  • lc013
  • lc013
  • 2016-12-07 15:57
  • 129

剑指Offer:面试题6重建二叉树

重建二叉树 题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 前序遍历:是先根节...
  • u012162920
  • u012162920
  • 2016-08-17 14:18
  • 220

剑指offer--面试题4:二维数组中的查找

#include bool Find(int *matrix, int rows, int columns, int number) { bool found = false; ...
  • u010726692
  • u010726692
  • 2017-04-20 14:21
  • 450

剑指offer--面试题3:二维数组中的查找(数组)

 题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 python实现: # -*- coding:utf-8 -*- class Solution:  ...
  • qingyujean
  • qingyujean
  • 2016-09-26 13:10
  • 217

剑指offer--(1) 二维数组中的查找

剑指offer–(1) 二维数组中的查找题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 思路描述 由于每一行的数据都是从左只有递增,所以针对每一行的数据进行二...
  • u012485480
  • u012485480
  • 2017-09-15 15:09
  • 81

剑指offer--二维数组中的查找 java

剑指offer算法 java实现 题目: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上往下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该函数。 例如下面的二维数组就是每行、每列都是递增排序。如果在这个数组中查找数字7...
  • samjustin1
  • samjustin1
  • 2016-08-29 09:08
  • 311

剑指Offer——重建二叉树——C++

重建二叉树 题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 思路:根据前序第一个字符是...
  • hellozmz
  • hellozmz
  • 2016-11-25 10:52
  • 814
    个人资料
    • 访问:155558次
    • 积分:4927
    • 等级:
    • 排名:第6843名
    • 原创:329篇
    • 转载:0篇
    • 译文:0篇
    • 评论:80条
    博客专栏
    最新评论