![](/img/trans.png)
[英]isSorted? Check array if is sorted in ascending or descending order in Java
[英]check an array whether this is sorted ascending/descending and they are increasing/decreasing with a fixed value
首先,我想檢查數組是否已排序(升/降),然后必須檢查值是否以固定值遞增/遞減。 像1,2,3,... n
示例:我有一個類似array[]={5,6,7,8,9}
的數組,現在我想檢查array []是否已排序。 最終,我能夠檢查它是否已排序。 但主要是我想知道如何檢查sorted(升/降)數組的值是否按固定值增加/減少。
在這里,數組的值增加1。
如何檢查?
您必須嘗試在編碼和顯示結果方面付出一些努力,以便我們為您提供幫助,並將兩個問題分為兩個問題。
考慮以下代碼作為解決您的問題的啟動:
1,取array
每個數字之間的差
2,添加一個內部的差異Set
,因為Set
沒有重復數據
3,如果Set
僅包含一個integer
則對數組進行排序(升/降)或所有元素均相等
int[] intArray = { 5, 6, 7, 8, 9 };
// int[] intArray = { 5, 5, 5, 5, 5 };
// int[] intArray = { 9, 8, 7, 6, 5 };
Set<Integer> diffSet = new HashSet<>();
for (int i = 1; i < intArray.length; i++) {
int diff = intArray[i] - intArray[i - 1];
diffSet.add(diff);
}
if (!diffSet.isEmpty() && diffSet.size() == 1) {
for (Integer integer : diffSet) {
if (integer < 0) {
System.out.println("The array is descending with fixed value of: " + integer);
} else if (integer > 0) {
System.out.println("The array is ascending with fixed value of: " + integer);
} else {
System.out.println("All elements in the array are equals");
}
}
}
嘗試繼續。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.