Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java数组中查找平台_Java_Loops - Fatal编程技术网

在Java数组中查找平台

在Java数组中查找平台,java,loops,Java,Loops,我真的很难在阵列中找到平台。我要找的是最长的等长值序列的长度和位置,两边的数字都较小。现在我知道可能有两个或更多相同长度的有效平台,理想情况下,我想打印一个更高值的平台 我创建了一个数组[40]和一个随机obj。为了填充数组,一旦我填充了它,我就知道我需要一个循环来检查索引。但这就是困惑所在。我曾尝试使用for循环来查找平台,但我的结果只会增加索引中存储的值。 如果方向正确,我将不胜感激 import java.util.Random; public class Plateau { public

我真的很难在阵列中找到平台。我要找的是最长的等长值序列的长度和位置,两边的数字都较小。现在我知道可能有两个或更多相同长度的有效平台,理想情况下,我想打印一个更高值的平台

我创建了一个数组[40]和一个随机obj。为了填充数组,一旦我填充了它,我就知道我需要一个循环来检查索引。但这就是困惑所在。我曾尝试使用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] + " ");
        }

    }



}

}
import java.util.Random;
公共阶级高原{
公共静态void main(字符串[]args)
{
int[]数组1=新int[40];
随机生成器=新随机();
for(int i=0;i
在伪代码中:

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

我没有针对伪代码的编译器,所以它可能并不完全正确,但这应该是一个开始。

在将其转换为代码之前,将其写在纸上。你怎么知道高原何时开始?如果之前的值小于当前值,你就知道了。标记为平台的开始,如果下一个值更大,逻辑将再次工作。然后你只需要确定高原的尽头。那就交给你了。