数组中大值与小值大值与第二大值同时求解及其优化.pdfVIP

  • 0
  • 0
  • 约6.31千字
  • 约 6页
  • 2026-05-11 发布于北京
  • 举报

数组中大值与小值大值与第二大值同时求解及其优化.pdf

今天主要来聊两个问题:给一个数组,如何同时求出最大值和

最小值,如何同时求出最大值和第二大值?

这两个问题看起来都特别简单,一个for循环,几个大小判断

if语句不就行了嘛?其实不然,其中的细节操作十分精妙,渐

进时间复杂度肯定是O(n)无法再减少,但如果深究算法的执

行速度,仍然有优化空间。

相信你看完本文,会对分治思想和归纳思想有更深刻的认

识,会对这种看似简单的问题另眼相看。

我们先按正常的思路,写出来两个问题的代码:

//返回最大值和最小值

int[]max_and_min(int[]nums){

intn=nums.length;

intmax=nums[0];

intmin=nums[0];

for(inti=0;in;i++){

if(nums[i]max)

max=nums[i];

if(nums[i]min)

min=nums[i];

}

returnnewint[]{max,min};

}

//返回最大值和第二大值

int

文档评论(0)

1亿VIP精品文档

相关文档