首页 > 编程语言 >Python计算序列中数字最大差值(美团2016校招笔试题)

Python计算序列中数字最大差值(美团2016校招笔试题)

时间:2023-06-09 20:07:31浏览次数:43  
标签:21 Python 美团 99 lst 校招 92 95 87


题目要求:给定一个包含若干数字的序列A(本文以列表为例),求满足0≤a≤b<n(其中n为序列长度)的A[b] - A[a]的最大值。

编程要点:循环结构用法,切片,内置函数enumerate(),列表推导式。

参考代码:

from random import randrange
def maxDifference(lst):
    # 负无穷大
    diff = -float('inf')
    for index, value in enumerate(lst[:-1]):
        for v in lst[index+1:]:
            t = v-value
            if t > diff:
                result = (value,v)
                diff = t
    return resultfor _ in range(10):
    print('='*20)
    lst = [randrange(1,100) for _ in range(20)]
    print(lst)
    print(maxDifference(lst))

运行结果:

====================
[51, 41, 43, 38, 38, 38, 30, 5, 96, 84, 6, 60, 81, 77, 6, 98, 42, 33, 97, 99]
(5, 99)
====================
[41, 88, 4, 15, 99, 82, 54, 96, 66, 74, 32, 28, 21, 96, 89, 44, 42, 25, 57, 84]
(4, 99)
====================
[88, 61, 1, 87, 18, 38, 50, 71, 95, 80, 64, 21, 12, 87, 10, 86, 45, 77, 10, 1]
(1, 95)
====================
[91, 10, 84, 17, 74, 21, 95, 41, 68, 40, 31, 61, 80, 45, 91, 6, 83, 22, 76, 25]
(10, 95)
====================
[56, 92, 83, 92, 52, 75, 87, 11, 6, 87, 60, 77, 85, 24, 82, 2, 84, 44, 9, 27]
(2, 84)
====================
[36, 49, 27, 33, 57, 19, 74, 81, 46, 28, 4, 92, 7, 40, 52, 60, 14, 58, 21, 59]
(4, 92)
====================
[73, 21, 47, 44, 74, 23, 75, 11, 95, 89, 4, 26, 22, 62, 55, 36, 17, 37, 73, 57]
(11, 95)
====================
[94, 77, 42, 90, 60, 23, 57, 34, 61, 70, 80, 6, 47, 60, 12, 15, 65, 9, 36, 30]
(6, 65)
====================
[39, 25, 97, 21, 91, 54, 69, 11, 68, 54, 72, 36, 16, 52, 29, 31, 95, 74, 99, 28]
(11, 99)
====================
[53, 77, 51, 15, 87, 29, 16, 94, 79, 72, 51, 64, 2, 92, 29, 80, 32, 87, 78, 79]
(2, 92)

标签:21,Python,美团,99,lst,校招,92,95,87
From: https://blog.51cto.com/u_9653244/6450950

相关文章

  • Python使用Condition对象实现多线程同步
    使用Condition对象可以在某些事件触发后才处理数据或执行特定的功能代码,可以用于不同线程之间的通信或通知,以实现更高级别的同步。在内部实现上,Condition对象总是与某种锁对象相关联。Condition对象除了具有acquire()和release()方法之外,还有wait()、wait_for()、notify()、notify_......
  • 使用Python开发会聊天的智能小机器人
    本文重点演示使用socket实现TCP通信以及字典和集合的用法,客户端发来信息之后,服务端会尽量猜测客户端要表达的真正意思,然后选择合适的内容进行回复。服务端小机器人代码:importsocketfromos.pathimportcommonprefixwords={'howareyou?':'Fine,thankyou.','howo......
  • Python字符串处理小案例
    连续5天30个小时的Python培训圆满结束,明天早上5点半出发赶飞机回烟台,晚上收拾行李的时候突然想起来20年前做过的一个C语言题目:假设有一个字符串,里面有若干字母o。要求如下:从前到后扫描,把每个字符删除并追加至字符串尾部,如果遇到字母o就删除,直至字符串处理结束。本文代码主要演示字......
  • Python版归并排序算法(附Python程序__name__属性用法演示视频)
    importrandomdefmergeSort(seq,reverse=False):#把原列表分成两部分mid=len(seq)//2left,right=seq[:mid],seq[mid:]#根据需要进行递归iflen(left)>1:left=mergeSort(left)iflen(right)>1:right=mergeS......
  • 使用Python读写文本文件内容
    本文主要演示如何读写文本文件的内容,以及上下文管理语句with的用法。使用上下文管理语句with时,即使在操作文件内容时引发异常也能保证文件被正确关闭。#'w'表示写入文件,默认为文本文件#如果文件test1.txt不存在,就创建#如果文件test1.txt已存在,就覆盖withopen('test1.txt','w')......
  • Python+pillow计算椭圆图形几何中心
    本文所用测试图像文件位于当前文件夹的testimages子文件夹中,并且图像以白色为背景。fromPILimportImageimportosdefsearchLeft(width,height,im):#从左向右扫描forwinrange(width):#从下向上扫描forhinrange(height):#获......
  • Python使用RSA+MD5实现数字签名
    数字签名主要有防抵赖和防篡改两种功能:一是能确定消息确实是由发送方签名并发出来的,因为别人假冒不了发送方的签名,二是能确定消息的完整性。作为具体实现,发送报文时,发送方用一个哈希函数(例如MD5、SHA-1、SHA-256、SHA-384或SHA-512)从报文文本中生成报文摘要,然后用自己的私钥(由RSA......
  • Python+tensorflow计算整数阶乘的方法与局限性
    本文代码主要演示tensorflow的基本用法。importtensorflowas#创建变量,保存计算结果start=tf.Variable(1,dtype=tf.int64)#初始化变量的opinit_op=tf.global_variables_initializer()#启用默认图withtf.Session()assess:#初始化变量sess.run(ini......
  • Python使用scipy进行多项式计算与符号计算
    本文代码主要演示如何使用poly1d进行多项式计算和符号计算。fromscipyimport>>>p1=poly1d([1,2,3,4])#输出结果中,第一行的数字为第二行对应位置项中x的指数>>>print(p1)321x+2x+3x+4#等价于p2=(x-1)(x-2)(x-3)(x-4)>>>p2=poly1d([1,2,3......
  • Python中else关键字的常见用法
    Python中的else常见用法有三:选择结构、循环结构和异常处理结构。(1)选择结构这应该是最常见的用法,与关键字if和elif组合来使用,用来说明条件不符合时应执行的代码块。(2)循环结构Python中的for循环和while循环都可以带else子句,如果循环是因为条件不再成立而自然结束时会执行else中的代码......