首页 > 编程语言 > 详细

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

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

数组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]的最小值

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!