Java 如何优化这个for循环?

Java 如何优化这个for循环?,java,for-loop,nested,Java,For Loop,Nested,要找到最大差异,除了在非常大的列表中使用两个for循环外,还有其他方法吗?请帮我优化这个。谢谢。使用一个for循环,您可以找到最高和最低元素。两者之间的区别是最大的区别 类最大差{ int maxDiffint arr[],int arr\u大小{ int-lowest=arr[0]; int最高=arr[0]; 对于int i=1;i

要找到最大差异,除了在非常大的列表中使用两个for循环外,还有其他方法吗?请帮我优化这个。谢谢。

使用一个for循环,您可以找到最高和最低元素。两者之间的区别是最大的区别

类最大差{ int maxDiffint arr[],int arr\u大小{ int-lowest=arr[0]; int最高=arr[0]; 对于int i=1;i最高值{ 最高=价值; } } 返回最高-最低; } } 陷阱:

如果arr.length us为零,或者如果arr.length小于arr_size,则会出现错误。我不知道在这种情况下你想要什么回报。 如果最高元素和最低元素之间的差异足够大,例如,如果最高元素是Integer.MAX_值,而最低元素是负数,则可能会溢出,并返回负数。这可以通过将返回类型更改为long来缓解,正如Stephen C在一篇评论中所建议的那样。
使用一个for循环,可以找到最高和最低的元素。两者之间的区别是最大的区别

类最大差{ int maxDiffint arr[],int arr\u大小{ int-lowest=arr[0]; int最高=arr[0]; 对于int i=1;i最高值{ 最高=价值; } } 返回最高-最低; } } 陷阱:

如果arr.length us为零,或者如果arr.length小于arr_size,则会出现错误。我不知道在这种情况下你想要什么回报。 如果最高元素和最低元素之间的差异足够大,例如,如果最高元素是Integer.MAX_值,而最低元素是负数,则可能会溢出,并返回负数。这可以通过将返回类型更改为long来缓解,正如Stephen C在一篇评论中所建议的那样。
使用一个for循环,查找最高和最低元素。这两者之间的区别是最大的区别。你能详细说明并帮助我理解代码吗?谢谢@赫尔伍德指出,这个问题的提出方式存在一个问题。如果最大的数字非常大,最小的数字非常负,那么用int表示的它们之间的差值将是负的。结果需要一个长循环。使用一个for循环,查找最高和最低元素。这两者之间的区别是最大的区别。你能详细说明并帮助我理解代码吗?谢谢@赫尔伍德指出,这个问题的提出方式存在一个问题。如果最大的数字非常大,最小的数字非常负,那么用int表示的它们之间的差值将是负的。结果需要很长时间。谢谢您的及时回答!成功了,谢谢你的及时回复!成功了。
class MaximumDiffrence 
{ 
    
    int maxDiff(int arr[], int arr_size) 
    { 
        int max_diff = arr[1] - arr[0]; 
        int i, j; 
        for (i = 0; i < arr_size; i++) 
        { 
            for (j = i + 1; j < arr_size; j++) 
            { 
                if (arr[j] - arr[i] > max_diff) 
                    max_diff = arr[j] - arr[i]; 
            } 
        } 
        return max_diff; 
    } 

}