簡體   English   中英

已排序數組的一部分被反轉

[英]Part of a sorted array is reversed

給定一個已排序的數組,其中的一部分是顛倒的。 我們需要對其進行完全排序。 例如:

ip - 2 4 5 7 13 11 9 14 19
op - 2 4 5 7 9 11 13 14 19

當我們知道給定數組是按升序還是降序排序時,很容易解決。如果我們不知道順序,如何解決?

例如:

ip - 19 17 2 6 8 10 1
op - 19 17 10 8 6 2 1

當輸入的第一部分按升序排列而其余部分按降序排列時,也會出現歧義。在這種情況下,可以考慮輸出任何順序。

  1. 假設最終結果應該是上升的。 運行你的算法一次。
  2. 檢查輸出是否真的上升。 如果是,我們就完成了; 如果不是,請轉到 3。
  3. 回滾到原始輸入,假設最終結果應該是降序的,運行你的算法一次。
  4. 檢查輸出是否真的在下降。 如果是,我們就完成了; 如果不是,則輸入是非法的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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