給航天器一側(cè)加裝長方形或正方形的太陽能板(圖中的紅色斜線區(qū)域),需要先安裝兩個(gè)支
柱(圖中的黑色豎條),再在支柱的中間部分固定太陽能板。但航天器不同位置的支柱長度
不同,太陽能板的安裝面積受限于最短一側(cè)的那根支柱長度。如圖:
現(xiàn)提供一組整形數(shù)組的支柱高度數(shù)據(jù),假設(shè)每根支柱間距離相等為?1?個(gè)單位長度,計(jì)算如
何選擇兩根支柱可以使太陽能板的面積最大。
輸入描述:
10,9,8,7,6,5,4,3,2,1
注:支柱至少有?2?根,最多?10000?根,能支持的高度范圍?1~10^9?的整數(shù)。柱子的高
度是無序的,例子中遞減只是巧合。
輸出描述:
可以支持的最大太陽能板面積:(10?米高支柱和?5?米高支柱之間)
25
補(bǔ)充說明:10?米高支柱和?5?米高支柱之間寬度為?5,高度取小的支柱高也是?5,面積為?25。任取其
他兩根支柱所能獲得的面積都小于?25。所以最大的太陽能板面積為?25。
示例?1
輸入:
10,9,8,7,6,5,4,3,2,1
輸出:
25
題解:
假設(shè)取橫坐標(biāo)是i,j的兩個(gè)支柱,對(duì)應(yīng)的豎條長度就是a[i],a[j],那么面積就是(j-i)*Math.min(a[i],a[j])?
那么直接雙循環(huán),獲取到最大值就可以了。文章來源:http://www.zghlxwxcb.cn/news/detail-860320.html
import java.util.Scanner;
public class Aircraft {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String[] lengthArray = sc.nextLine().split(",");
int max = 0;
for (int i = 0; i < lengthArray.length; i++) {
for (int j = i + 1; j < lengthArray.length; j++) {
max = Math.max(max, (j - i) * Math.min(Integer.valueOf(lengthArray[i]), Integer.valueOf(lengthArray[j])));
}
}
System.out.println(max);
}
}
文章來源地址http://www.zghlxwxcb.cn/news/detail-860320.html
到了這里,關(guān)于[華為OD] 給航天器一側(cè)加裝長方形或正方形的太陽能板 100的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!