如何解决java - 如何循环直到前两个元素等于Java中数组的最后两个元素?
我正在尝试执行 wiggle subsequence 但进行调整以使前两个元素等于后两个元素。我正在努力找出一种方法来计算摆动子序列,只要最终输出始终是最后两个元素等于前两个元素。
到目前为止的代码是...
public static int calculation(int[] A,int n){
if( A.length == 0 ){
return 0;
}
int[] up = new int[A.length];
int[] down = new int[A.length];
up[0] = 1;
down[0] = 1;
for(int i = 1 ; i < A.length; i++){
do{
if( A[i] > A[i-1] ){ //wiggles up,element before it must be a down position
up[i] = down[i-1]+1;
down[i] = down[i-1];
}else if( A[i] < A[i-1]){ //wiggles down,element before it must be a up position
down[i] = up[i-1]+1;
up[i] = up[i-1];
}else{ //does not change anything so both up[i] and down[i] stay the same
down[i] = down[i-1];
up[i] = up[i-1];
}
//else if - think of what to return if true
//or else if to return if false ????
} while (A[0] != A[A.length-1]); //attempt at while statement
}
return Math.max(down[A.length-1],up[A.length-1])/2; //returning the amount of pairs in array
}
我正在考虑做一段时间整数数组的前两个元素等于循环内的最后两个元素,但无法弄清楚如何同时处理第一个和最后两个元素,而不仅仅是第一个和最后一个,而且这似乎无论如何都不起作用,但无法从逻辑上弄清楚原因。
正如你所知道的,我是一个完整的初学者,这是一项任务,我在 Java 中确实很难完成。任何建议将不胜感激!
注意:输入是数组int[] A,int n是序列A中整数的个数
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。