在Java数组中查找平台
我真的很难在阵列中找到平台。我要找的是最长的等长值序列的长度和位置,两边的数字都较小。现在我知道可能有两个或更多相同长度的有效平台,理想情况下,我想打印一个更高值的平台 我创建了一个数组[40]和一个随机obj。为了填充数组,一旦我填充了它,我就知道我需要一个循环来检查索引。但这就是困惑所在。我曾尝试使用for循环来查找平台,但我的结果只会增加索引中存储的值。 如果方向正确,我将不胜感激在Java数组中查找平台,java,loops,Java,Loops,我真的很难在阵列中找到平台。我要找的是最长的等长值序列的长度和位置,两边的数字都较小。现在我知道可能有两个或更多相同长度的有效平台,理想情况下,我想打印一个更高值的平台 我创建了一个数组[40]和一个随机obj。为了填充数组,一旦我填充了它,我就知道我需要一个循环来检查索引。但这就是困惑所在。我曾尝试使用for循环来查找平台,但我的结果只会增加索引中存储的值。 如果方向正确,我将不胜感激 import java.util.Random; public class Plateau { public
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
我没有针对伪代码的编译器,所以它可能并不完全正确,但这应该是一个开始。在将其转换为代码之前,将其写在纸上。你怎么知道高原何时开始?如果之前的值小于当前值,你就知道了。标记为平台的开始,如果下一个值更大,逻辑将再次工作。然后你只需要确定高原的尽头。那就交给你了。