簡體   English   中英

檢查一個數組,它是否按升/降排序,並且以固定值遞增/遞減

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM