zoukankan      html  css  js  c++  java
  • 【剑指Offer】01二维数组中的查找

    题目描述

    在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
    时间限制:1秒;空间限制:32768K;本题知识点: 查找

    解题思路

    先定位到二维数组左下角的数据,从这个数据开始比较大小,因为这个位置的数据有个特点:比它小的数据都在上方,比它大的数据都在右方。如果当前值比目标值小,右移一列;如果当前值比目标值大,上移一行;循环直到找到相同值或遍历整个数组。

    Python代码:

    # -*- coding:utf-8 -*-
    class Solution:
        # array 二维列表
        def Find(self, target, array):
            # write code here
            row = len(array)-1 #行数
            col = len(array[0])-1  #列数
            i = row
            j = 0
            while i>=0 and j<=col:
                if target > array[i][j]:
                    j += 1
                elif target < array[i][j]:
                    i -= 1
                else:
                    return True
            return False
  • 相关阅读:
    Java I/O流
    Java 网络编程
    Java 位运算
    Java高级特性 实用类
    Java高级特性 集合
    Log4j
    DML和DQL以及常用函数
    mysql 初始语句
    jQuery中表单的初始验证
    使用jQuery对DOM中的节点操作
  • 原文地址:https://www.cnblogs.com/yucen/p/9912060.html
Copyright © 2011-2022 走看看