【发布时间】:2018-09-02 17:03:37
【问题描述】:
给定一个提供的数组,确定存在多少个指定大小的组。 对于数组 [1,1,1,2,2,2,3,3,3,4,5,6,7] ,有 7 个组至少有一个,3 个组至少有一个 至少 2 和 3 组,至少 3 组。组是一系列相同的值。 1 1 1 是一组 3,但它也是 一组 1 和 2。要算作一组,所有值必须相同。 1 1 1 是一组 3 因为有 连续 3 个 1。
示例输出: [3, 3, 3, 3, 3, 9, 4, 4, 4, 5, 5, 5, 5, 6, 6, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8 , 8] 尺寸 1 计数 == 7
尺寸 2 计数 == 6
尺寸 3 计数 == 5
尺寸 4 计数 == 3
尺寸 5 计数 == 2
尺寸 6 计数 == 1
我的主要代码:
import static java.lang.System.*;
import java.util.Arrays;
import java.util.Scanner;
import static java.lang.System.*;
import java.util.Arrays;
import java.util.Scanner;
public class ArrayStats {
int[] numArray;
int number;
public ArrayStats(int[] a) {
setArray(a);
}
public void setArray(int[] a) {
numArray = a;
}
public int getNumGroupsOfSize() {
int cnt = 0;
for (int i = 0; i < numArray.length - 1; i++) {
if (numArray[i] == numArray[i + 1])
cnt++;
for (int j = 0; j <= 9; j++) {
if (cnt == i)
number = cnt;
else if (cnt == 1)
number = 1;
}
}
return number;
}
public String toString() {
return "size count" + " == " + getNumGroupsOfSize() + Arrays.toString(numArray);
}
}
我的跑步者代码:
public class ArrayStatsRunner
{
public static void main(String args[])
{
int[] one = {3, 3, 3, 3, 3, 9, 4, 4, 4, 5, 5, 5, 5, 6, 6, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8};
ArrayStats test = new ArrayStats(one);
System.out.println(test.toString());
System.out.println("size 1 count == "+test.getNumGroupsOfSize(1));
System.out.println("size 2 count == "+test.getNumGroupsOfSize(2));
System.out.println("size 3 count == "+test.getNumGroupsOfSize(3));
System.out.println("size 4 count == "+test.getNumGroupsOfSize(4));
System.out.println("size 5 count == "+test.getNumGroupsOfSize(5));
System.out.println("size 6 count == "+test.getNumGroupsOfSize(6));
}
}
【问题讨论】:
-
您的运行程序代码无法编译。该代码不可能产生该输出,因为您实际上并未在任何地方提供“大小”。请阅读:How to create a Minimal, Complete, and Verifiable example
-
听起来更像是您希望我们为您完成代码,而不是自己尝试完整的解决方案。
-
我尝试了很多次,都无法正常运行。
-
您如何发布实际编译的尝试代码?代码实际尝试计算特定 size 的尝试?
-
您传递给 ArrayStats 构造函数的参数“one”是什么?