算術最小の最大数は、データの数である間(含む)の最小データを見つけるために次の入力のn、n個のデータ入力は、満足される
演算の数の数に出力対応する
:テストデータ
入力:
5
2 4 10 6 20
出力:
10の
アイデア:両者の差が差は、2つの間の許容差の最小の最大数であり、それは列の正しい数かどうかが決定される、ゼロではない小から大まで順序付けられた最初の対数、。
コードは以下のようにされている:
インポートjava.util.Scannerと、
パブリッククラスCXL {
パブリック静的無効メイン(文字列[] args){
スキャナスキャナ新しい新しいINPUT =(System.in);
INT input.nextInt A =();
INT B [] = int型新しい新規[A];
int型E = 100、D;
INT C []新しい新しいINT [100] =;
のための(INT I = 0; I <てb.lengthに、I ++)
B [I] = input.nextInt()。
配列の//サイズ
のために(; I <てb.lengthにINT I = 0 I ++){
ため(INT I = J + 1;てb.lengthへJ <; J ++){
IF(B [J] <B [I]) {
D B = [J]、B [J] = B [I]、B [I] = D;
}
}
}
、E =ソート(B)。
C [0] = B [0]。
for(int i=0;i<100;i++) {
c[i+1]=c[i]+e;
if(c[i+1]==b[b.length-1]) {
if(contai(b,c)) {
System.out.println(i+2);
break;
}
else {
System.out.println(b[b.length-1]-b[0]+1);
break;
}
}
}
}
//求最大公差数
static int sort(int []b) {
int e=100;
for(int i=0;i<b.length-1;i++) {
if(b[i+1]-b[i]!=0) {
if((b[i+1]-b[i])<e)
e=b[i+1]-b[i];
}
}
return e;
}
//判断b数组中的是否全在c数组中
static boolean contai(int []b,int []c) {
boolean fla=false;
int k=0;
if(b.length<c.length) {
for(int i=0;i<b.length;i++)
for(int j=0;j<c.length;j++)
if(b[i]==c[j]) {
k++;
continue;
}
}
if(k==b.length)
fla=true;
return fla;
}
}
指摘してください以下の場所よりも何がある場合は、あなたに感謝!!!