zoukankan      html  css  js  c++  java
  • 剑指offer 面试4题

    面试4题:

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

    解题代码一:二层遍历,时间并不是最优

    # -*- coding:utf-8 -*-
    class Solution:
        # array 二维列表
        def Find(self, target, array):
            # write code here
            m,n=len(array),len(array[0])
            for i in range(m):
                for j in range(n):
                    if array[i][j]==target:
                        return True
            return False

    解题关键:从右上角或者左下角开始。

    解题代码二:

    # -*- coding:utf-8 -*-
    class Solution:
        # array 二维列表
        def Find(self, target, array):
            # write code here
            if not matrix:
                return False
            m,n=len(array),len(array[0])
            row=0
            col=n-1
            while(row<m and col>=0):
                if array[row][col]<target:
                    row+=1
                elif array[row][col]>target:
                    col-=1
                else:
                    return True
            return False 
  • 相关阅读:
    O(n^2)的排序方法
    99乘法表
    excel 转 csv
    批量关闭 excel
    tomcat 加入服务
    文件打包 zip
    字符串转换
    List数组种删除数据
    mybatis 批量上传
    sql server 查询表字段及类型
  • 原文地址:https://www.cnblogs.com/yanmk/p/9171866.html
Copyright © 2011-2022 走看看