python找出数组中第2大的数字
首先感谢提出问题的博友,程序是去年找工作的时候写的,整理的比较粗心,错误已经纠正了。
题目比较简单直接看实现即可,具体的注释在代码中都有:
#!usr/bin/env python
#encoding:utf-8'''
__Author__:沂水寒城
功能:找出数组中第2大的数字
'''def find_Second_large_num(num_list):'''找出数组中第2大的数字'''#直接排序,输出倒数第二个数即可tmp_list=sorted(num_list)print 'Second_large_num is:', tmp_list[-2]#设置两个标志位一个存储最大数一个存储次大数#two存储次大值,one存储最大值,遍历一次数组即可,先判断是否大于one,若大于将one的#值给two,将num_list[i]的值给one;否则比较是否大于two,若大于直接将num_list[i]的#值给two;否则passone,two=num_list[0],num_list[-1]for i in range(1,len(num_list)):if num_list[i]>one:two=oneone=num_list[i]elif num_list[i]>two:two=num_list[i]else:passprint 'Second_large_num is:', twoif __name__ == '__main__':test_list=[[34,11,23,56,78,0,9,12,3,7,5],[10,4,9,3,1],[99,0,2,12]]for one_list in test_list:print 'one_list: ',one_listfind_Second_large_num(one_list)
结果如下:
one_list: [34, 11, 23, 56, 78, 0, 9, 12, 3, 7, 5]
Second_large_num is: 56
Second_large_num is: 56
one_list: [10, 4, 9, 3, 1]
Second_large_num is: 9
Second_large_num is: 9
one_list: [99, 0, 2, 12]
Second_large_num is: 12
Second_large_num is: 12
[Finished in 0.1s]
python找出数组中第2大的数字相关推荐
- 找出数组中第k大的数
给定一个数组,找出数组中第k大的数.其实现代码如下: package com.threeTop.www;/*** 找出数组中第k大的数* @author wjgs**/ public class Fi ...
- Java找出数组中第K大的数
题目描述 有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数. 给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数,保证答案存在. 测试样例: [1,3,5 ...
- 找出数组中最大值次大值的一次遍历方法(C++)
写在前面 昨天做了一道LeetCode题(747. 至少是其他数字两倍的最大数 - 力扣(LeetCode) (leetcode-cn.com)), 大致意思是找出数组中的最大值和次大值并返回最大值索 ...
- 快速找出数组中出现次数超过一半的数字
"只要不是特别大的内存开销,时间复杂度比较重要.因为改进时间复杂度对算法的要求更高." --吴斌(NVidia,Graphics Architect) 同样是查找,如果是顺序查找需 ...
- 2018腾讯内部转岗面试题3——找出数组中比左边大比右边的小的元素
题目: 以时间复杂度 O(n) 从长度为 n 的数组中找出同时满足下面两个条件的所有元素: (1)该元素比放在它前面的所有元素都大: (2)该元素比放在它后面的所有元素都小. 分析: 面试官给的上面冗 ...
- 用Python找出数组中出现次数超过一半的数
数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字. 计数+比较 不考虑效率,采用最简单的办法,遍历数组,使用 List 的 count() 方法统计元素出现的次数: def more_th ...
- 找出数组中最长的连续数字序列(JavaScript实现)
原始题目: 给定一个无序的整数序列, 找最长的连续数字序列. 例如: 给定[100, 4, 200, 1, 3, 2], 最长的连续数字序列是[1, 2, 3, 4]. 小菜给出的解法: 1 func ...
- 【菜鸡新手 - 剑指offer 03】[2021/1/17一刷] 找出数组中重复的数字 -三种解法|| 物归原主,测试碰撞法 || hash表测试碰撞法 || 排序+遍历法 ||python
文章目录 题目解读 A. 书籍推荐解法:我起名为" 物归原主,测试碰撞"法 B. 基础尝试1:hash表 + 碰撞测试 (效果还行) C. 基础尝试2:排序+遍历 (效果差) C. ...
- 找出数组中任一重复的数字
找出数组中任一重复的数字 找出数组中任一重复的数字 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重 ...
- 找出数组中重复的数字---多思路
问题:找出数组中重复的数字. 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找出数组中任意 ...
最新文章
- Linux Network Administrators Guide
- boost::mp11::mp_push_front相关用法的测试程序
- AOP各种表达式,aspectj的关系
- ECSHOP如何增加红包序列号字符
- linux mysql odbc驱动安装_MySQL ODBC 驱动安装
- 莫烦python简历_Matplotlib画图教程
- 数据库(4)表的基本操作
- linux安装python_Linux下安装python环境
- H323plus的学习使用(3)——加载H.264插件
- 我发现:在StackOverflow上拯救歪果仁十分有意思!
- 《背影》----朱自清
- java 外观模式_Java设计模式11:外观模式
- div标签清除float浮动样式方法
- 6 Django的视图层
- Swing-图表(扇形图的绘制)
- 【Spark】Spark安装详解
- box-shadow属性详解
- 利用Google博客搜索查看加密QQ空间(qzone)日志
- Tikhonov regularization 吉洪诺夫正则化(L2正则化)
- Win10系统截图新工具的快捷键