python中的ans是什么意思_python ans
从第1行开始。继续前进,直到第一个1。然后跳至第2行,但仍留在同一列中,重复右移的过程,直到您点击为止1。重复执行此操作。您上一步右移的行就是您的答案。
这是一个O(N + M)解(对于NxM矩阵,或者对于正方形NxN矩阵为O(N),如问题所示)。
使用您的示例:
0 1 1 1 0 0 0 1 0 0 0 0 1 1 1 1 该.是在这里代表走过的路径:
. . 1 1 0 . . . 0 0 0 . . Last right step, therefore this is our answer 1 1 1 1 . 该解决方案适用于非正方形矩阵,对于NxM矩阵保留最坏情况下的O(N + M)效率。
为什么这样做?保证数字将被排序意味着每行将是一系列0,然后是一系列1。因此,一行的大小等于您在击中1之前可以走的最远距离。因此,如果一行只要跟随0就能使您走得更远,那么它必须比我们之前处理的任何内容都要长。
Python代码:
li = [[0, 1, 1, 1], [0, 0, 0, 1], [0, 0, 0, 0], [1, 1, 1, 1]]
ans, j = 0, 0 for i, row in enumerate(li): while j < len(row) and row[j] == 0: j += 1 ans = i
print "Row", ans+1, "".join(map(str, li[ans])) 由于始终具有正方形NxN矩阵和不同的行,因此存在一个更简单的解决方案。它们在一起意味着值最低的行将为0 0 ... 0 1或0 0 ... 0 0。这是因为矩阵中代表N + 1个可能的数字中的N个,因此“缺失”数字要么为0(在这种情况下,表示的最小值为1),要么为其他数值(最小值为0)。
掌握了这些知识之后,我们从右边第二列开始检查是否为0。找到一个时,我们向右看,如果包含另一个0,我们得到答案(只能有一行以a结尾0)。否则,我们将继续在该列中搜索另一个0。如果找不到另一个0,则找到的第一个是我们要查找的行(只能有一个以结尾结尾的行01,因为没有一个结尾为00,这是最小的)。
Python代码:
li = [[0, 1, 1, 1], [0, 0, 0, 1], [0, 0, 0, 0], [1, 1, 1, 1]]
for i, row in enumerate(li): if row[-2] == 0: ans = i if row[-1] == 0: break
print "Row", ans+1, "".join(map(str, li[ans])) 该解决方案可以最轻松地回答O(N)的问题,但是将其推广到处理非平方NxM矩阵或非唯一数字将使其最坏情况的效率为O(N ^ 2)。我个人更喜欢第一个解决方案。
python中的ans是什么意思_python ans相关推荐
- python中str的index什么意思_python中index的用法是什么
index() 一般用处是在序列中检索参数并返回第一次出现的索引,没找到就会报错,比如:>>> t=tuple('Allen') >>> t ('A', 'l', ...
- python中gil锁和线程锁_Python线程——GIL锁、线程锁(互斥锁)、递归锁(RLock)...
GIL锁 计算机有4核,代表着同一时间,可以干4个任务.如果单核cpu的话,我启动10个线程,我看上去也是并发的,因为是执行了上下文的切换,让看上去是并发的.但是单核永远肯定时串行的,它肯定是串行 ...
- python中函数包括标准库函数吗_Python语言和标准库(第二章:函数)
a-如何创建函数. b-给出一些指导原则,帮助思考如何创建和组织程序以使用函数. c-如何编写函数,使随后可以询问它们的工作方式和实现的功能. 2.1将程序放在单独的文件里 为了更加方便,从现在开始, ...
- python中int表示的数据类型是_python中的基本数据类型之 int bool str
一.基本数据类型 1. int ==> 整数.主要用来进行数学运算. 2.str ==> 字符串.可以保存少量的数据,并进行相应的操作. 3.bool => 布尔值.判断 ...
- python中导入模块用什么命令_Python导入模块的技巧
作为使用Python的开发者,我们一开始学习的内容之一就是如何导入Python的各种模块或库.但是我们注意到,那些经常使用Python的用户并不一定都知道Python的导入机制其实非常灵活.在本文中, ...
- python中math.ceil是什么意思_python中的数字取整(ceil,floor,round)概念和用法
python中的数学运算函数(ceil,floor,round)的主要任务是截掉小数以后的位数.总体来说 就是取整用的.只是三者之间有微妙的区别: floor() :把数字变小 ceil() : 把数 ...
- python中def _init_是什么意思_Python中self和__init__的含义与使用
原文地址https://blog.csdn.net/love666666shen/article/details/78189984 Python中的self 在Python中的类Class的代码中,常 ...
- python中的 2%s何意_python中的%s%是什么意思
python中的%s%是什么意思 它是一个字符串格式化语法(它从C借用). 请参阅 "格式化字符串": Python支持将值格式化为字符串.虽然这可以包括非常复杂的表达式,但最基 ...
- python中如何创建类的对象_python面向对象中如何建立具体的对象?
我们现在眼前所能看到的事物,都是具体的对象.很多小伙伴在面向对象中创建对象,其实都停留在对象名称的建立,计算机中并没有具体对象的描述属性.我们想要使用python中的类,建立的对象就需要是具体的.下面 ...
- python中的1怎么用的_python中的[:-1]和[::-1]的具体使用
1.案例解释 a='python' b=a[::-1] print(b) #nohtyp c=a[::-2] print(c) #nhy #从后往前数的话,最后一个位置为-1 d=a[:-1] #从位 ...
最新文章
- 回调函数_实用程序类与函数式编程无关
- android 安装步骤
- 解决larave-dompdf中文字体显示问题
- mysql行转列和列转行_Mysql中行转列和列转行
- Uva 247 - Calling Circles(传递闭包 / 强连通分量)
- sqlalchemy_外键连接表
- Mybatis的简单增删查改(CRUD)
- Go基础:产生随机数
- 毕设查重,避免雷区【划重点!!!】
- 白帽子讲web安全笔记
- UFS Write Booster Feature Overview
- F - Shifting String(置换的阶+思维)
- ssm+Vue计算机毕业设计益学(程序+LW文档)
- JAVA获得股票数据大全
- 国医中药,人参神秘而又独特的地位
- python制作数据增长动图_请问一下这种数据动图是如何做出来的?
- ios应用内下载并安装另一个应用
- JVM虚拟机-----垃圾回收相关概念
- JavaScript(JS)有一组英文歌曲,按照歌曲名称的字母顺序从“A”到“Z”顺序排列,保存在一个数组中。
- Flutter 实现背景图片毛玻璃效果
热门文章
- SAP UI5 应用读取 CSRF token 的 HTTP head 请求逻辑解析
- SAP UI5 应用开发教程之三十二 - 如何创建一个自定义 SAP UI5 控件试读版
- 使用 SAP UI5 系统测试工具 UIVeri5 的一个具体例子
- SAP Spartacus 事件服务 Event Service 使用介绍
- Angular应用只执行指定单元测试的小技巧
- SAP WebClient UI开发工具中attribute文件夹展开的实现原理分析
- SAP CRM OData multiple origin Composition的测试
- SAP S/4HANA系统Fiori UI上Adapt UI按钮显示与否的控制逻辑
- CRM campaign relationship read
- 使用Prometheus监控Linux系统各项指标