在图中,我创建了一个数组,并给出了 15 作为参数。我已将 0 到 5(含)之间的随机整数插入到此目录中。
1) 平原数量, 2) 平面的最宽宽度和 3)这个最宽的平面是数组的起点
如何用Java语言编写屏幕显示程序?
(例如数组为1 0 5 5 5 2 2 3 3 4 4 4 4 0 1,层数为8,即取相同次数的1,数组就变成了子数组,与所有组件相同。最大的普通 4 4 4 4 是最大的级别数 4。最大的级别是数组中的前 4、第 9 个元素。)
请帮助我。
代码:
public class Zehra {
public static void main(String args[]) {
int N = Integer.parseInt(args[0]);
int[] x = new int[N];
for(int i=0; i<N; i++)
x[i] = (int)(Math.random()*6);
for(int i=0; i<N; i++)
System.out.print(x[i] + " ");
System.out.println(" ");
}
}
最佳答案
不要指望这里的任何人都会为你编写代码。相反,我会尝试引导您走向正确的方向。遍历数组一次,始终跟踪:
- 当前运行的相等元素的起始索引
- 当前运行的值
- 遇到的运行次数
- 当前元素之前最长的相等元素的起始索引和长度。
每当您遇到不等于当前运行中的值的数字时,您就知道新的运行开始了。此时 (a) 将运行计数加一 (b) 查看即将结束的运行是否比之前最长的运行更长,如果是,则将其记录为新的最长运行,包括其起始索引和长度。循环结束后,记得计算最后一次运行的时间,看看它是否比任何其他运行都长。
关于Java 数组和子数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40693381/