我有一個工作示例打印出唯一位數的整數(即123具有獨特的數字,但11不)打印所有從1到10^N具有獨特的數字在它
下面是代碼
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter any number : ");
int n = Integer.parseInt(br.readLine());
double val = Math.pow(10, n);
List<Integer> list = new ArrayList<>();
for(int k=1;k<=val;k++){
String s = Integer.toString(k);
if(s.length() == 1){
list.add(k);
} else{
int l = s.length();
int flag = 0;
for (int i = 0; i < l - 1; i++) {
for (int j = i + 1; j < l; j++) {
if (s.charAt(i) == s.charAt(j)) {
flag = 1;
break;
}
}
} if(flag == 0){
list.add(k);
}
}
}
System.out.println(list);
如何高效地使用java8編寫上面的代碼?
如何衡量給定的實現是否比另一個更有效? –
在使用java流的有限數量的行中寫入的效率很高 – Digital