输入:{a, b, c, d}
(字符数组)
我想使用上面的字符数组作为输入生成以下序列
输出:
a bcd
ab cd
abc d
abcd
a b c d
ab c d
a bc d
a b cd
答案 0 :(得分:4)
你可以尝试,
char[] a = { 'a', 'b', 'c', 'd' };
for (int i = 0; i < (a.length*2); i++) {
if (i < a.length) {
for (int j = 0; j < a.length; j++) {
System.out.print(a[j]);
if (j == i)
System.out.print(" ");
}
System.out.println("");
} else {
for (int k = 0; k < a.length; k++) {
System.out.print(a[k]);
if (k != (i - (a.length + 1)))
System.out.print(" ");
}
System.out.println("");
}
}
答案 1 :(得分:0)
val hiveContext = new org.apache.spark.sql.hive.HiveContext(sc)
答案 2 :(得分:0)
for (int i = (1 << (a.length - 1)) - 1; i >= 0; --i) {
System.out.print(a[0]);
for (int j = 0; j < a.length - 1; ++j) {
if ((i & (1 << j)) == 0)
System.out.print(" ");
System.out.print(a[j + 1]);
}
System.out.println();
}
答案 3 :(得分:-2)
此代码适用于上面给出的输出
for(i=0;i<(2*a.length);i++){
if(i<a.length){
for(j=0;j<a.length;j++){
System.out.print(a[j]);
if(j==i)
System.out.print(" ");//for white spaces
}
System.out.println(""); //new line
}
else{
for(k=0;k<a.length;k++){
System.out.print(a[k]);
if(k!=(i-(a.length+1)))
System.out.print(" ");
}
System.out.println("");
}
}
但是,我认为你的代码并没有给出预期的输出,甚至不是你所说的前几行。