python 二维数组长度_剑指offer二维数组中的查找【Java+Python】

点击上方"蓝字",关注了解更多fc6e87cc3277aa6ddeebf5f888fdcb71.png

二维数组中的查找

1. 题目描述

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

2. 示例

现有矩阵 matrix 如下:

[ [1, 4, 7, 11, 15],

[2, 5, 8, 12, 19],

[3, 6, 9, 16, 22],

[10, 13, 14, 17, 24],

[18, 21, 23, 26, 30] ]

给定 target = 5,返回 true。

给定 target = 20,返回 false。

3. 解题思路

使用以下方法的前提是:该矩阵是有序的。

从矩阵的左下角开始搜索,即从18 开始查找,如果该数大于目标数,则 行数 减去 1,向上搜索小的数值;

如果小于目标数,则 列数 + 1 ,向右边搜索,搜索更大的数值

4. Java实现

// Java语言实现
public class Solution {
    public boolean Find(int target, int [][] array) {
        int row = array.length-1;
        int col = 0;  
        // 从左下角开始搜索,array.length 表示行的大小,array[0].length表示列的大小
        
        while (row >= 0 && col <= array[0].length-1){
            if (array[row][col] == target){
                return true;
            }else if(array[row][col] > target){
                row--;
            }else{
                col++;
            }
            
        }
        return false;
 
    }
}

5. Python实现

class Solution(object):
    def searchMatrix(self, matrix, target):
        """
        :type matrix: List[List[int]]
        :type target: int
        :rtype: bool
        """
        
        if not matrix:
            return False
        
        rows, cols = len(matrix), len(matrix[0])
        #从左下角开始搜索
        row, col = rows - 1, 0
        while row >= 0 and col <= cols-1:
            if matrix[row][col] == target:
                return True 
            elif matrix[row][col]                 col += 1
            else:
                row -= 1 # row一直减少
        return False

如果您觉得本文有用,请点个“在看”

88fd3a8146d825b9082b8b632ee8ab81.png精彩推荐

Java开发微服务畅购商城实战-全357集【附代码课件】

Java微服务实战谷粒商城-296集【附代码课件】

Spring Boot开发小而美的个人博客【附课件和源码】

基于Python flask框架的租房项目实战【附资料和源码】

PyQt5开发与实战视频【附课件和源码】

最全最详细数据结构与算法视频-【附课件和源码】

2020年微信小程序全栈项目之喵喵交友【附课件和源码】

b03c56b850148ff93d4c8c8ffa7f4a31.png                      

你点的每一个在看,我都认真当成了喜欢

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/528931.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php 静态变量 引用,PHP的返回引用(方法名前加)和局部静态变量(static)

先阅读手册从函数返回一个引用&#xff0c;必须在函数声明和指派返回值给一个变量时都使用引用操作符 & &#xff1a;例子 17-13. 由函数返回一个引用有关引用的更多信息, 请查看引用的解释。在来看一段很多开源代码喜欢用的单例注册模式 class a{} class b{} function &am…

失物招领小程序_通知 | 保卫部拟设置失物招领处

保卫部拟设置失物招领处为规范对遗失物品的接收、登记、发放等工作&#xff0c;切实维护师生利益&#xff0c;保卫部拟设置失物招领处&#xff0c;现将有关失物招领的流程明确如下&#xff1a;1、失物招领地点&#xff1a;保卫部二楼中厅。2、遗失物的接收。师生将拾得的遗失物…

php获取表所有数据类型,php excel 导入 导入三级分类 表格应该怎么设计才能得到想要的数据格式?...

就是多个1级分类 下面有不确定个二级分类 二级分类下面有不确定个三级分类 我想获取到相关的数据组合写入数据库 但是这个格式不知道怎么排才能获取到对的数据有空的亲们给看看 帮下 谢谢有没有办法获取整列的值 然后根据长度去区分2列 然后再区分三列现在获取到的数据格式是按…

python数据清理的实践总结_python3常用的数据清洗方法(小结)

首先载入各种包&#xff1a;import pandas as pdimport numpy as npfrom collections import Counterfrom sklearn import preprocessingfrom matplotlib import pyplot as plt%matplotlib inlineimport seaborn as snsplt.rcParams[font.sans-serif] [SimHei] # 中文字体设置…

转转钓鱼php,最新转转钓鱼源码程序网站微信:mm88wk 最新转转源码 - 下载 - 搜珍网...

压缩包 : 转转钓鱼源码微&#xff1a;mm88wk.zip 列表转转/转转/360safe/转转/360safe/360webscan.php转转/360safe/webscan_cache.php转转/admin/转转/admin/add.php转转/admin/addsite.php转转/admin/adduser.php转转/admin/downfile.php转转/admin/download.php转转/admin/e…

PHP即将退出,PHP4即将退出历史舞台

http://www.phpeye.com/bbs/viewthread.php?tid92 PHP官方团队在php.net上发布了一则公告&#xff1a; Today it is exactly three years ago since PHP 5 has been released. In those three years it has seen many improvements over PHP 4. PHP 5 is fast, stablehttp://w…

redis 清空db下_PHP操作redis实现的分页列表

正文内容封装类文件如下&#xff1a;/* * redis 分页数据类库 */class redisPage{protected $_redis;protected $_redis_ip 127.0.0.1; //ipprotected $_redis_port 6379; //端口protected $_redis_db 0; //数据库号protected $_hash_prefix my_data; //前缀名称public fun…

php5.1.4,apache 2.2.2 + PHP5.1.4 不能运行的解_php

apache 2.2.2 php5.1.4 不能运行的解决办法.问题,使用传统的模块化方法安装PHP5.1.* apache 2.2.2 后不能启动,提示:"Cannot load C:/php/php5apache2.dll into server: The specified module could not be found."原因:PHP压缩包里的php5apache2.dll只适用于apach…

python3中的zip_Python3实现将文件归档到zip文件及从zip文件中读取数据的方法

Created on Dec 24, 2012将文件归档到zip文件&#xff0c;并从zip文件中读取数据author: liury_lab# 压缩成zip文件from zipfile import * #UnusedWildImportimport osmy_dir d:/中华十大名帖/myzip ZipFile(d:/中华十大名帖.zip, w, ZIP_DEFLATED)for file_name in os.listd…

java mariadb 使用,java连接mariaDB的设置,java连接mariadb

java连接mariaDB的设置&#xff0c;java连接mariadbjava连接mariaDB数据库的设置&#xff1a;(tomcat 8)第一种方法&#xff1a;使用tomcat自带的mysql-connector-java-5.1.40-bin.jarjava代码中的设置&#xff1a;driver驱动类为&#xff1a;com.mysql.jdbc.Driverurl为&#…

python产品发布会_【Mac系统 + Python + Django】之开发一个发布会系统【Django模型(三)】...

上一部分给大家介绍Django的视图。接下来继续来了解Django框架&#xff0c;来看第三部分&#xff0c;此部分是对数据库的操作。目录&#xff1a;一、设计系统表            返回目录首先打开sign/models.py&#xff0c;通过模型完成标的创建&#xff1a;from djang…

java 保留字符串,如何在Java中保留字符串而不使用反转功能

有以下几种在Java中反转字符串的方法&#xff1a;使用for循环使用While循环使用静态方法使用For循环使用for循环在Java中反转字符串的示例在下面的示例中, 我们使用了for循环来反转字符串。 for循环执行直到条件i> 0变为false为止。import java.util.Scanner;class ReverseS…

python增删改查csv文件_Python增删改查文件

#!/usr/bin/env python# -*- coding:utf-8 -*-# author:Erik Chan# datetime:2018/12/27 9:29# software: PyCharmimport os# 获取当前文件的父目录文件夹DIR os.path.dirname(os.path.abspath(__file__))cwd os.getcwd() #获取当前目录即dir目录下print(cwd)# 创建添加一个文…

php 模块 远程,ThinkPHP远程调用模块的操作方法 URL 参数格式

* 远程调用模块的操作方法 URL 参数格式 [项目://][分组/]模块/操作* param string $url 调用地址* param string|array $vars 调用参数 支持字符串和数组* param string $layer 要调用的控制层名称* return mixedfunction R($url,$varsarray(),$layer‘‘) {$info pathinfo($…

python3 csv 读入数组_如何将CSV数据读入NumPy中的记录数组?

我建议read_csv函数的pandas图书馆&#xff1a;import pandas as pddfpd.read_csv(myfile.csv, sep,,headerNone)df.valuesarray([[ 1. , 2. , 3. ],[ 4. , 5.5, 6. ]])DataFrame是一种具有潜在不同类型列的二维标记数据结构.你可以把它想象成一个电子表格或SQL表.我也建议…

php用cdn打不开,开启 CDN 后 wordpress 后台打不开的解决办法

现在很多站长把网站放到国外&#xff0c;使用 CDN 加速功能提高国内的访问速度&#xff0c;前面提到过开启腾讯云 CDN 后 wordpress 后台显示&#xff1a;连接被重置的解决办法&#xff0c;而今天遇到的是另外一种情况&#xff0c;有时候会遇到开启 CDN 后 wordpress 后台打不开…

android 支付宝月账单 统计图_记账其实很简单,用微信、支付宝就够了!

用微信、支付宝记账&#xff0c;从起告别糊涂账养成记账的好习惯&#xff0c;能让你对生活中的各种收支做到心中有数&#xff0c;从此告别糊涂账。长期坚持&#xff0c;能帮助我们理性消费、科学理财。但或许是因为记账的过程太枯燥&#xff0c;或许是因为没找到合适的记账方法…

mysql抖动可能的原因,12 | 为什么我的MySQL会“抖”一下?

你的 SQL 语句为什么变“慢”了平时执行很快的更新操作&#xff0c;其实就是在写内存和日志&#xff0c;而 MySQL 偶尔“抖”一下的那个瞬间&#xff0c;可能就是在刷脏页(flush)。当内存数据页跟磁盘数据页内容不一致的时候&#xff0c;我们称这个内存页为“脏页”。内存数据写…

怎样快速画出一个正方体_图形与几何---正方体

一&#xff0e;概念描述现代数学&#xff1a;正方体亦称立方体。它是一种正多面体。即棱长相等的长方体&#xff0c;因此亦称正六面体&#xff0c;如下图。小学数学&#xff1a;2007年北京版教材第10册的第3页指出&#xff1a;长、宽、高都相等的长方体叫作正方体(也叫作立方体…

python argvparser_Python ArgumentParse的subparser用法说明

在写一些很小的机器学习项目的时候,我们往往希望training, testing和inference能共用一个入口main,但是不同的功能使用不同的input参数.当然如果三个功能对应三个.py脚本问题也不大,但是毕竟觉得不太优雅.这个时候就需要考虑如何让代码更加简单有条理.主要是最近在看parser有关…