• 1 二维数组中的查找


    题目描述

    在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
     
    思路:
    利用二维数组由上到下,由左到右递增的规律,
    那么选取右上角或者左下角的元素a[row][col]与target进行比较,
    当target小于元素a[row][col]时,那么target必定在元素a所在行的左边,
    即col--;
    当target大于元素a[row][col]时,那么target必定在元素a所在列的下边,
    即row++;
     
     1 public class Solution {
     2     public boolean Find(int target, int [][] array) {
     3         int rows = 0;
     4         int cols = array[0].length -1;
     5          while(rows<=array.length-1 && cols>=0){
     6             if(target == array[rows][cols]) return true;
     7             else if(target > array[rows][cols] ) rows ++ ;
     8                 else cols --;
     9             
    10         }
    11         return false;
    12     }
    13 }
    public class Solution {
        public boolean Find(int target, int [][] a) {
            int row = 0;
            int col = a[0].length-1;
            while(true){
                if(row>=a.length||col<0) return false;
                if(target==a[row][col]) return true;
                else if(target<a[row][col]) col--;
                else row++;
            }
       }
    }

    更新 20180303

     1 # -*- coding:utf-8 -*-
     2 class Solution:
     3     # array 二维列表
     4     def Find(self, target, a):
     5         # write code here
     6         rows = len(a)
     7         cols = len(a[0])
     8         i = 0
     9         j=cols - 1
    10         while i < rows and j >= 0:
    11            if(a[i][j] > target):
    12                 j -= 1
    13            elif(a[i][j] < target):
    14                 i += 1
    15            else:
    16                 return True
    17         return False
    18   
  • 相关阅读:
    通过反射操作泛型
    Android学习笔记_4_单元测试
    Android学习笔记_3_四种布局
    Validform 基于表单验证
    Android学习笔记_2_发送短信
    Android学习笔记_1_拨打电话
    css ul dl dt 表格分页 文本框样式
    创建properties文件保存在WEB项目的classes文件下
    PS快捷键和常用小知识
    Mysql跨数据库(在同一IP地址中)复制表
  • 原文地址:https://www.cnblogs.com/zle1992/p/7745463.html
Copyright © 2020-2023  润新知