Weaving Wong

总觉得该写点啥...

嗨,我是Weaving,一名机器学习爱好者.


分享读书、学习、生活感悟

剑指Offer--(2)二位数组中的查找

题目描述

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

题目解读

python 在二维数组中的array的格式是array[row][column],所以在遍历时需要统计多维数组的行数和列数的时候,如果是直接对数组名求len(array),那得到的是多维数组的行数,如果是对某一行求len(array[i])则是求第i维的长度,也即是列数。


# -*- coding:utf-8 -*-
class Solution:
    # array 二维列表
    def Find(self, target, array):
        # write code here
        row = 0
        col =len(array[0])-1
        if array == None:
            return Flase
        while row < len(array) and col >= 0:
            if array[row][col] == target:
                return True
            elif array[row][col] < target:
                row += 1
            else:
                col -=1
        return False
        

总结错误:编程太少,低级错误比较多,今后还是需要加强训练,对于多维数组的概念不是很清楚。

最近的文章

剑指Offer--(1)查找空格

题目 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。解读此题需要清楚一个字符串类型的属性,也就是它具有哪些性质,比如是否可迭代,还是需要列表帮忙?索引怎么找?是否需要切片?字符串是否是可以直接拼接?1.我的解答# -*- coding:utf-8 -*-class Solution: # s 源字符串 def replaceSpace(self, s): ...…

数据结构继续阅读
更早的文章

python yield 用法总结

阅读别人的python源码时碰到了这个yield这个关键字,各种搜索终于搞懂了,在此做一下总结: 通常的for…in…循环中,in后面是一个数组,这个数组就是一个可迭代对象,类似的还有链表,字符串,文件。它可以是mylist = [1, 2, 3],也可以是mylist = [x*x for x in range(3)]。 它的缺陷是所有数据都在内存中,如果有海量数据的话将会非常耗内存。 生成器是可以迭代的,但只可以读取它一次。因为用的时候才生成。比如 mygenerator =...…

axis继续阅读