有一个数组说 [1,2,4,5,1]。我需要从中打印所有连续的子数组。
输入: [1,2,4,5,1]
输出:
1
1,2
1,2,4
1,2,4,5
1,2,4,5,1
2
2,4
2,4,5
2,4,5,1
4
4,5
4,5,1
5
5,1
1
Run Code Online (Sandbox Code Playgroud)
我尝试过,但无法获得完整的系列。
//items is the main array
for(int i = 0; i < items.length; i++) {
int num = 0;
for(int j = 0; j < items.length - i; j++) {
for(int k = i; k < j; k++) {
System.out.print(items[k]);
}
System.out.println();
}
}
Run Code Online (Sandbox Code Playgroud)
kai*_*kai 10
您只需要进行 2 次更改。外循环的迭代次数与数组有元素的次数一样多,这是正确的。第一个内循环应该使用外循环的索引作为起始索引 ( int j = i),否则你总是从第一个元素开始。然后将内循环中断条件改为k <= j,否则i不打印最后一个元素。
// i is the start index
for (int i = 0; i < items.length; i++)
{
// j is the number of elements which should be printed
for (int j = i; j < items.length; j++)
{
// print the array from i to j
for (int k = i; k <= j; k++)
{
System.out.print(items[k]);
}
System.out.println();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13290 次 |
| 最近记录: |