我正在嘗試垂直回傳一個陣列串列,但我在嘗試實作它時遇到了一些問題。下面是我的代碼,return results;輸出是我想要垂直的
public static List<Integer> predictAnswer(List<Integer> stockData, List<Integer> queries) {
// Write your code here
//Declare list for storing result
List<Integer> result = new ArrayList<Integer>();
//Declare variable for storing index of previous and next smaller stock
int previousNear = -1, nextNear =-1;
for (int query : queries){
// Reset previousNear and nextNear values
previousNear = nextNear = -1;
//Iterate and find smaller stock to first day; previousNear reamians -1 if smaller stock not found
for (int day = query - 1; day>= 0; day--){
if (stockData.get(query - 1) > stockData.get(day)){
previousNear = day;
break;
}
}
//Iterate and find smaller stock to last day; nextNear remains -1 if smaller stock not found
for (int day = query; day < stockData.size(); day ) {
if (stockData.get(query -1 ) > stockData.get(day)){
nextNear = day;
break;
}
}
if (previousNear == -1 && nextNear == -1)
result.add(-1);
else if (previousNear == -1 && nextNear!= -1)
result.add(nextNear 1);
else if (query - previousNear - 1 > nextNear - query 1)
result.add(nextNear 1);
else result.add(previousNear 1);
}
return result;
}
}
我當前的輸出是[2, 4, -1]
我希望它是
2
4
-1
任何幫助,將不勝感激。先感謝您
uj5u.com熱心網友回復:
嗨,如果您的意思是在新行上顯示結果中的每個值,您可以這樣做:
public static void display() {
List<Integer> results = List.of(1, 2, 46);
for (Integer result : results) {
System.out.println(result);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/496068.html
