zoukankan      html  css  js  c++  java
  • 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   
  • 相关阅读:
    快速幂模板
    部分有关素数的题
    POJ 3624 Charm Bracelet (01背包)
    51Nod 1085 背包问题 (01背包)
    POJ 1789 Truck History (Kruskal 最小生成树)
    HDU 1996 汉诺塔VI
    HDU 2511 汉诺塔X
    HDU 2175 汉诺塔IX (递推)
    HDU 2077 汉诺塔IV (递推)
    HDU 2064 汉诺塔III (递推)
  • 原文地址:https://www.cnblogs.com/zle1992/p/7745463.html
Copyright © 2011-2022 走看看