码迷,mamicode.com
首页 > 编程语言 > 详细

求数组中a[j]/a[i]的最小值

时间:2020-05-07 01:02:36      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:shang   max   复杂度   nbsp   ret   pre   元素   div   class   

数组int a[],元素个数为n,求a[j]/a[i]的最小值,其中0<i<j<n,时间复杂度要求为O(n)。

思路:a[i]的值应当尽量大,而且应该为j前面最大的那个,所以遍历数组的时候,每个元素都除以其前面的最大的那个元素而不用除以其前面的每一个元素。

 1 int maxnum(int a[], int n)
 2 {
 3     int max=a[0];
 4     int min_shang = 0;
 5     for (int j = 1; j <= n; j++)
 6     {
 7         min_shang = min_shang < a[j] / max ? min_shang : a[j] / max;
 8         max = a[j] > max ? a[j] : max;
 9     }
10     return min_shang;
11 }

 

求数组中a[j]/a[i]的最小值

标签:shang   max   复杂度   nbsp   ret   pre   元素   div   class   

原文地址:https://www.cnblogs.com/cs0915/p/12840074.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!