我很难在阵列中找到一个高原。我正在寻找的是最长的相等值序列的长度和位置,其中两侧的数字较小。现在我知道可能有两个或更多有效长度相同,理想情况下我希望以更高的值打印高原。
我创建了一个数组[40]和一个随机对象。为了填充数组,一旦我填充它,我知道我将需要一个循环来检查索引。但那就是混乱的地方。我尝试使用for循环找到平台,但我的结果只会增加索引中存储的值。 任何正确方向的点我都会非常感激。
import java.util.Random;
public class Plateau {
public static void main(String[]args)
{
int[] array1 = new int[40];
Random genrator = new Random();
for (int i = 0; i < array1.length; i++)
{
array1[i] = genrator.nextInt(21 - 1);
}
for(int i = 0; i < array1.length; i++)
{
System.out.print(array1[i] + " ");
}
System.out.println("\n");
for (int i = 0; i < array1.length; i++)
{
if (array1[i] < array1[i] + 1)
{
System.out.println(array1[i] + " ");
}
}
}
}
答案 0 :(得分:0)
在伪代码中:
V value=first value
P position=1
L length=0
Scan the values from position Q=2
Compare current value C to V
If C is less than V
if this sequence Q-P is longer than L
save length as L
save P as location R
update V and P to current value
If C is greater than V
update V and P to current value
我没有伪代码的编译器所以它可能不完全正确,但它应该是一个开始。