目标代码机器人

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

 

题目描述:

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

设计思路:

 

  1. 遍历所有行
  2.       遍历行中的每个元素
  3.             判断元素值是否与给定的target值相等
  4.                       相等返回True
  5.             判断元素是否大于给定target值(比target值大的话跳出循环)
  6. 遍历完没有返回false

代码:

         

 1 import numpy as np
 2 class Solution:
 3     # array 二维列表
 4     def Find(self, target, array):
 5         len_line= len(array)
 6         len_colum = len(array[0])
 7         #遍历每一行
 8         for i in range(len_line):
 9             for j in range(len_colum):
10                 if array[i][j] == target:
11                     return True
12                 elif array[i][j] >target:break
13         return False
14 
15 list = [[1,2,3],[4,5,6],[7,8,9]]
16 array = np.array(list)
17 target = int(input())
18 s = Solution()
19 judge = s.Find(target,array)
20 print(judge)

 

 

 

 

卡住的问题点:

    久久无法解决二维数组的键盘输入问题

 

 解决:

 用了一个上午思考这个问题,最后惊奇的发现居然不需要写主函数输入,直接写调用函数就可以实现,无知的我学到了。

最后总结,还是没有解决键盘一次性输入二维数组的问题。呜呜呜~~~~~

posted on 2019-09-13 13:03  目标代码机器人  阅读(130)  评论(0编辑  收藏  举报