当前位置: 首页 > 面试题库 >

—个大数组,可能存了 100万个数字,要从其中取出 来第二大的数的下标,有什么快速的方法?

宗政和韵
2023-03-14
本文向大家介绍—个大数组,可能存了 100万个数字,要从其中取出 来第二大的数的下标,有什么快速的方法?相关面试题,主要包含被问及—个大数组,可能存了 100万个数字,要从其中取出 来第二大的数的下标,有什么快速的方法?时的应答技巧和注意事项,需要的朋友参考一下

用两个变量max,max2,其中max储存最大值,max2储存第二大值;初始化的时候,将数组中的第一个元素中较大的存进max中,较小的存进max2中,然后从第三个元素(下标为2)的元素开始,如果遇到的数比max大,就让max2=max;max等于遇到的数一直循环,直到数组尾部,最后输出max2 单元测试

 类似资料:
  • 问题内容: 我有两个大阵列需要处理。但是,让我们看一下下面的简化示例以了解这个想法: 我想查找in中的元素是否与in中的元素匹配,并返回两者中的数组索引,以及是否以新数组的形式找到匹配项。例如,使用以下一组和,程序将返回: 我当前的代码如下: 这很好。但是,我正在处理的实际两个数组每个都有60万个项目。上面的代码将非常慢。有什么方法可以加快这个过程? 问题答案: 可能不是最快,但又容易又相当快:使

  • 我只能给出一个强力解决方案,即以O(nlogn)时间复杂度对数组进行排序,并取最后100个数字。 面试官在寻找一个更好的时间复杂性,我尝试了几个其他的解决方案,但都没能回答他。有更好的时间复杂性解决方案吗?

  • 我需要从全球网格中提取特定节点集的数据,这些节点由纬度/经度坐标给出(大约5000-10000)。这些数据是水力参数的时间序列,例如波高。 全球数据集是巨大的,所以它被分成许多NetCDF文件。每个NetCDF文件大约5GB,包含整个全球网格的数据,但只针对一个变量(例如波高)和一年(例如2020年)。假设我想在某个位置提取6个变量的完整时间序列(42年),我需要提取数据形式为6x42=252个N

  • 问题内容: 我知道我可以像下面这样: 但是,由于它做了完整的排序,所以它非常慢。 我想知道numpy是否提供一些可以快速完成的方法。 问题答案: 该模块具有一种快速的局部排序方法,可直接与Numpy数组配合使用:。 请注意,返回的是已排序的实际值,如果要使用已排序的值的索引(返回值),则应使用。 我已经进行了基准测试: 其中是一个随机的1,000,000个元素的数组。 时间安排如下: :每个循环2

  • 我很困惑为什么这个方法有效…有人能给这个方法一个证明吗?

  • 我正在努力将名字数组和姓氏数组交替连接在一起。我的代码如下。 创建两个数组,可以存储一个人的名字(在第一个数组中)和姓氏(在第二个数组中)。要求用户输入任何人的任意5个名字,然后再次要求用户输入他们各自的姓氏。现在,通过连接名字和姓氏来打印全名。示例-假设包含名字和姓氏的数组如下所示: FirstNameArray={"Tom","John"} secondNameArray={“Holland”