2020-10-30:給定一個正數陣列arr(即陣列元素全是正數),找出該陣列中,兩個元素相減的最大值,其中被減數的下標不小于減數的下標。即求出: maxValue = max{arr[j]-arr[i] and j >= i}?
uj5u.com熱心網友回復:
public static void main(String[] args) {
int[] array = {1,2,5,7,9};
Integer result =null;
for(int i=array.length-1; i>0;i--){
for(int j =i;j>=0;j--){
int temp =array[i]-array[j];
if(result==null||result<temp){
result=temp;
}
}
}
System.out.println(result);
}
uj5u.com熱心網友回復:
兩個for回圈就可以了int maxV=Inetger.MIN_VALUE;
for(int i=0; i<arr.length-1; i++) {
for(int j=i+1; j<arr.length; j++) {
if(arr[j]-arr[i] > maxV) maxV=arr[j]-arr[i];
}
}
System.out.println(maxV);
uj5u.com熱心網友回復:
如果是我實作的話:先給陣列排序,然后在求maxvalueuj5u.com熱心網友回復:
public static void main(String[] args) {
int[] arr = {12, 2, 23, 54, 65, 21, 35};
int maxValue = 0;
int i = 0;
int result;
for (int j = 1; j < arr.length; j++) {
result = arr[j] - arr[i];
if (result > maxValue)
maxValue = result;
else if (result < 0)
i = j;
}
System.out.println(maxValue);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/196027.html
標籤:Java相關
上一篇:druid + oracle報錯 com.alibaba.druid.sql.ast.statement.SQLBlockStatement not allow
