配列があります。 {3,2,5,7,10,1,5,7,11,15}。 私はこのアレイの最も長いシリーズを探したいです。 たとえば、{2,5,7,10}と{1,5,7,11,15}はこの配列の増加系列ですが、2番目の配列は長くなります。java配列の配列の長さが最も長くなっています。
-3
A
答えて
0
これがそうするのも楽しいの一種だったが、私はそれを
int[] allNumbers = {3,2,5,7,10,1,5,7,11,15,1,2,3};
ArrayList<Integer> series = new ArrayList<>();
ArrayList<Integer> currentLongestSeries = new ArrayList<>();
for(int index = 0; index < allNumbers.length; index++)
{
System.out.println("Checking " + allNumbers[index] + "\nCurrent series is " + Arrays.toString(series.toArray()));
//starting condition
if(series.size() == 0)
{
series.add(allNumbers[index]);
}
//adding to our series
else if(series.get(series.size() - 1) < allNumbers[index])
{
series.add(allNumbers[index]);
}
//check how big our list is
else
{
if(series.size() > currentLongestSeries.size())
{
currentLongestSeries = series;
series = new ArrayList<>();
series.add(allNumbers[index]);
}
else
{
series = new ArrayList<>();
series.add(allNumbers[index]);
}
System.out.println("Current biggest series is " + Arrays.toString(currentLongestSeries.toArray()));
}
}
//now lets check one last time because we still have a series to check
if(series.size() > currentLongestSeries.size())
{
currentLongestSeries = series;
System.out.println("Current biggest series is " + Arrays.toString(currentLongestSeries.toArray()));
}
else
{
System.out.println("Last series is " + Arrays.toString(series.toArray()));
}
System.out.println("FINAL SERIES is " + Arrays.toString(currentLongestSeries.toArray()));
0
を紹介します。この宿題へのソリューションは、あなたが行くように値に上昇要素のリストを作成し、配列を反復することである。示し
値が大きくない場合は、前のリストでこのリストをチェックします。長い場合は、前のリストを置き換えます。
このタスクを実行するには多くの方法があります。ここに私のバージョンがあります:
import java.util.ArrayList;
import java.util.List;
public class TheLongestSequence {
public static void main(String[] args) {
int[] myArray = new int[]{3,2,5,7,10,1,5,7,11,15};
// Prime the pump with the first element
int previous = myArray[0];
List<Integer> longestArray = new ArrayList<Integer>();
List<Integer> currentArray = new ArrayList<Integer>();
currentArray.add(previous);
// Cycle through the array
for (int i = 1; i < myArray.length; i++) {
if (myArray[i] > previous) {
currentArray.add(myArray[i]);
} else {
previous = myArray[i];
// Check if this array is larger than the previous one
if (currentArray.size() > longestArray.size()) {
longestArray = currentArray;
}
currentArray = new ArrayList<Integer>();
currentArray.add(myArray[i]);
}
}
// Double check the last array isn't the longest one
if (currentArray.size() > longestArray.size()) {
longestArray = currentArray;
}
System.out.println(longestArray);
}
}
出力:
[1, 5, 7, 11, 15]
関連する問題
- 1. 2つの配列の中で最も長い配列番号
- 2. 配列リストの中で最も長い配列番号
- 3. 3で割り切れる最も長いサブ配列の長さの配列をスキャンする
- 4. 配列の長さが間違っていますか?
- 5. 文字配列は、配列の長さ
- 6. 配列の中で最も長い文字列(複製中)
- 7. 配列の長さが正しく表示されない
- 8. が異なる長さの配列
- 9. 長さが異なる配列のナンシー配列
- 10. Javascript配列長さ0の空でない配列
- 11. サイズがネストされた配列の中で最も長い配列を見つけて返す
- 12. 配列の長さは
- 13. Int配列の長さC++
- 14. JavaScript配列の長さメソッド
- 15. 配列内の長さ
- 16. 配列とC++の長さ
- 17. jQueryとmysqli_num_rows()で配列の長さが正しくない
- 18. バイト配列の長さが正しくない
- 19. 固定長のビット配列の配列
- 20. Math.maxを使用して、関数に渡される配列の長さが最も長い配列を作成しますか?
- 21. 配列の長さを増やして渡す配列番号#
- 22. 親配列から最大長の配列を取得する
- 23. 2D配列の行と列の長さ
- 24. typescript長さが新しい配列
- 25. 2次元配列/行列の長さ
- 26. 動的長さの文字列配列
- 27. FATAL ERROR:無効な配列の長さの配分が
- 28. Python sum長さが任意の配列
- 29. 配列の長さが不安定
- 30. 演算子配列のMongoDB $最大長
あなたと*トラブル*を持っているものたちを表示します。今、この質問は広すぎます。 – Gendarme
例が明確でない –