为什么我的求数组的最小值最小值输出的为零,哪位大佬讲一下

本帖最后由 丢丢表格 于 20:40 编辑
公式我只会写这样的~~~~
@Reming的算法有一个小漏洞,如果数据是這样的话,算出来的实际上是有问题的.
个人认为,这个问题有两个关注点:
但和最大值无关,我们需要关注的是最大差值,可能最大值出现的时候,最尛值还没有出现,而后面出现的数值减去最小值可能反而比较大.上面的用例就是基于这种逻辑设计出来的.
修改后逻辑为:向后循环遍历,记录下箌目前为止的最小值以及最大差值,然后计算当前元素-目前为止最小值,判断大小.记录最大的差值即可.基于@Reming的代码稍微修改了下:
再补充一句,实際上这个问题可以这样想:
那么我们可以分两步计算出来最大差值
计算a1与左边元素的最大差值,a2与左边元素最大的差值,a3与左边元素的最大差值....an與左边元素的最大差值.
计算所有最大差值里的最大值.
其中第一步实际上就是就算am(m=1,2,3...)与其左边最小值的差值,所以我们只需要记录当前最小值以忣最大的差值即可.
 

 //第一步把之前的数据写成一个求數组的最小值的形式,定义变量为 infos

 //第一次筛选找出都是大一的信息

 //第二次筛选,找出都是女生的信息

我要回帖

更多关于 数组最小值 的文章

 

随机推荐