配列のさまざまな数を追加しても得られない最小数を取得する必要があります。基本的に、これらの数字がある場合:1,1,1,5; 1、2、3、5、6 は得られますが、4 は得られないので、探している数です。これが私のコードです:
import java.util.Scanner;
public class Broj_6 {
public static void main(String[] args) {
Scanner unos = new Scanner(System.in);
int k;
int n = unos.nextInt();
int niz []= new int [n];
for(int i = 0;i<n;i++){
niz[i]=unos.nextInt();
}
BubbleSort(niz);
for(int i = 0;i<n;i++){
System.out.print(niz[i] + " ");
}
for(int br = 1;br<=10000;br++){
for(k = 1;k<n;k++){
if(niz[k]>br){
break;
}
}
int podniz [] = new int [k];
for(int i=0;i<podniz.length;i++){
niz[i] = podniz[i];
}
//This is where I will need my logic to go
}
}
static void BubbleSort (int [] niz){
int pom;
for(int i = 0;i<niz.length-1;i++){
for(int j = 0;j<niz.length-1-i;j++){
if(niz[j]>niz[j+1]){
pom = niz[j];
niz[j] = niz[j+1];
niz[j+1] = pom;
}
}
}
}
}
したがって、コードは 1 から 100000 までの各数値を個別にテストし、その数値よりも小さいすべての数値の部分配列を作成します。ここに問題があります。サブ配列内の数値を組み合わせて一致させる方法がわからないため、目的の数値を取得できます(または取得できません)。すべての組み合わせがテストされ、希望する数がない場合、私は壊れます。ループと印刷 i. 明確にするために、足し算しか使用できず、各数値は一度しか入力できません