我需要通过添加不同数量的数组来获得一个我无法获得的最小数量。基本上如果我有这些数字: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。澄清一下,我只能用加法,每个数字只能进一次