如何在java中输出数字数组(int)中的序列?

时间:2016-05-15 15:37:06

标签: java

例如我有这个数组:

int[] a = {1,1,1,1,5,5,1,1,1};
//output: 4 2 3 

换句话说,它将打印相同数字的序列。 我已经尝试过了:

int doubles_count_while (int a[][], int n, int cestatic) { 
    int result = 1; 
    while (result < n && a[result - 1][cestatic] == a[result][cestatic]) {
        result++; 
    }
    return result;
}

int doubles_groups(int a[][], int n, int cestatic, int b[]) { 
    int result = 0; 
    int i = 0; 
    while (i  < n) {
        int z = doubles_count_while(a, n-i, a[i][cestatic]); 
        b[result++] = z; i += z; 
    } 
    return result; 
}

1 个答案:

答案 0 :(得分:2)

发布代码时,请将其发布为MCVE,以便我们可以实际运行它。您还应该告诉我们您希望此代码执行的操作它的功能。尝试将其缩小到一行代码,而这些代码没有按照您的预期进行。

这是一个非常广泛的问题,但我会尝试在一般意义上提供帮助。你需要退后一步,忘记代码。如果有人递给你一堆带有数字的索引卡片并要求你将它们分组,请记下所遵循的步骤,没有电脑。你究竟会怎么做?

假装你有一个非常愚蠢的朋友,他不知道如何分组。您应该能够将您的指示交给该朋友,并让他们按照他们的方式对您的卡片进行分组,而无需您的任何帮助。记住这位朋友是多么愚蠢,所以请确保你的指示尽可能小。

如果您已经写出了这些说明,那么您可以开始考虑使用代码实现这一算法。试图深入研究代码而不清楚你想要它做什么只会给你带来很多麻烦。祝你好运。