慕粉1844174621
2020-05-06 12:54
nums[0]值不是和max、min值一样吗?为什么使用nums[0]最小值输出结果不一样?
还是有些不理解。num[0]与num[1],也就是61与23比较,23小于61,不就把23赋值给num[0]作为min了嘛,后面拿23和4比较,4小于23,又把4作为min,之后后面所有的数都比4大呀,不会再进行赋值了嘛。我是这样理解的,求大佬讲解
把148换成72 就会发现 72不比74大 却会成为新的max,这样写最后不是出来最大的而是出来最后一个比nums[0]大的
因为20是最后一个小于nums[0]即61的数,min之前的值被覆盖了。
如果nums[]中的元素换了位置,你的最大值和最小值都是错的。
按照你的代码,nums[0]是第一个元素61,每个元素都与61比较,如果比它大就成为max,比他小就成了max,并且是按照顺序来的,所以按照顺序你的min先后被赋值23,4最后是20,所以结果是20。
你定义的min和max都是nums[]
if(nums[i] > max)
max = nums[i]
if(nums[i] < min)
min= nums[i]
Java入门第一季(IDEA工具)升级版
1165512 学习 · 17586 问题
相似问题