数组:二维数组中的查找

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

代码:

class Solution {
    public boolean Find(int[][] array, int target) {
        int row = 0;
        int col = array[0].length - 1;
        while (row < array.length && col >= 0) {
            if (target == array[row][col])
                return true;
            else if (target > array[row][col])
                row++;
            else
                col--;
        }
        return false;

    }
}
时间: 2024-10-31 00:07:59

数组:二维数组中的查找的相关文章

C语言学习笔记:18_数组-二维数组

/* * 18_数组-二维数组.c * * Created on: 2015年7月6日 * Author: zhong */ #include <stdio.h> #include <stdlib.h> /** * 二维数组: * 为什么要用二维数组呢; * 例如: 网络班有2个班,每班有5人. * 要想存储一班的学生的年龄 定义一个一维数组搞定 int ages[5]={18,19,20,18,19}; * 然后将两个班中的所有年龄分开存入一个数组中 int classes[2]

数据结构 二维数组--&gt;稀疏数组--&gt;二维数组

稀疏数组基本概念: 稀疏数组应用场景: 当一个数组大部分的元素为"0",或者为同一个值的数组时,可以使用稀疏数组来保存该数组 处理方法: 1>记录数组一共有几行几列,有多少不同的值 2>把具有不同值的元素行列及值记录在一个小规模数组中,从而缩小程序规模 row col val [0]   总行       总列 有效数量 [1]  第一个数据行  第一个数据列 第一个数据值 [2]  第二个数据行 第二个数据列 第二个数据值 二维数组==>稀疏数组思路: 1>遍

C++ 一维数组 二维数组 指针

1.int a[3] = {1, 2, 3}a代表数组的首地址&a[0]也是数组的首地址 2.// int a[2][2] = {0, 1, 2, 3}; // **a 就是 a[0][0] 第一行第一列.// *(*a + 1) 就是 a[0][1] 第一行第二列.// **(a + 1) 就是 a[1][0] 第二行第一列.// *(*(a + 1) + 1) 就是 a[1][1] 第二行第二列. 3.int a[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9

java 获取数组(二维数组)长度实例程序

我们可能知道 js有个length函数,java也有啊length函数 例 如果数组是data[],则data.length 代码如下 复制代码 byte[] phone =new byte[81]; //建立一个byte类型的数组,长度为81 phone[i]!=0中phone[i]! //数组的第i的位置不等0 如: 代码如下 复制代码 byte[] phone =new byte[81]; //建立一个byte类型的数组,长度为81 phone[1]!=0中phone[1]! //数组第二

C# 数组 二维数组

数组:相同数据类型的元素按一定顺序排列的集合.是一组变量 作用:操作大量数据    数组的定义1.数组里面的内容必须是同一类型2.数据必须有长度限制                               //  定义时限定长度,往后无法更改 一维数组 表达式 1.数据类型[ ] 变量名 = new 数据类型[长度]:              string [ ] s  = new atring [ 5 ];    //定义一个有五个变量的string类型数组 s [0] = "aaa&q

第6章 数组 二维数组互调行列

1.编写java程序,将二维数组中的行列互调显示出来.如: 1 2 3        显示出的结果为:      1 4 7 4 5 6                                    2 5 8 7 8 9                                    3 6 9 package six; public class Sixoneegiht { public static void main(String[] args){ int arr[][]=n

php打乱数组二维数组、多维数组

//这个是针对二维数组的!下面针对多维数组的乱序方法<?php function shuffle_assoc($list) { if (!is_array($list)) return $list; $keys = array_keys($list); shuffle($keys); $random = array(); foreach ($keys as $key) $random[$key] = $list[$key]; return $random; } ?> //以下函数也是出自php

each处理一维数组二维数组和JS改变屏幕事件

改变屏幕大小事件 window.onresize=function(){ var w=$(window).width(); if((w<1189)){ $('.one').hide(); } } each处理一维数组 $.each(arr,function(i,val)){ alert(i);alert(val) } each处理二维数组 $.each(arr2,function(i,item){ alert(i)输出二维数组有几个数组元素 alert(item) 将输出每一个数组 }) var

【转】C++动态创建二维数组,二维数组指针

原作者博客:蒋国宝的IT技术博客 今天完成一道题目需要自己用指针创建一个二维的数组,不得不承认指针的确是恶心. int **result; int row = 4; int col = 5; result = new int*[row]; for (int i=0; i<row; i++) { result[i] = new int[col]; } for (int i=0; i<row; i++) { for (int j=0; j<col; j++) { result[i][j] =

7.17 数组(二维数组) Day10

---note--- 二维数组: 数组名 [下标] [下标] a[2][3] b[1][2]=a[3][4]/2 int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}: 字符数组: char c[10]; c[0]="I" 空不等于没有数据 strcpy(字符串1,字符串2) 左对齐直接覆盖 strcpy(str1,str2,2) 只把str2的前两个字符覆盖至str1 strcat 一般形式:strcat(字符数1,字符数2) 把字符串拼接至字