2. 給定一組整數, 已知其每兩個數都互不相同,判斷這些數字是否能排成一個有序的數組?
例:li = [1,3,4,2] 是有續的 可以排序為li =[1,2,3,4]
li = [2,4,6,8] 是無續的 可以排序為li =[1,2,3,4]
(不允許使用系統庫中的排序方法)
思路:先使用冒泡排序將數組進行排序整合,再使用下標索引檢查是否滿足序列要求
1 def one_func(_list): 2 n = len(_list) 3 conten = 0 4 for i in range(n - 1): 5 for i in range(n - 1 - i): 6 if _list[i] > _list[i + 1]: 7 _list[i], _list[i + 1] = _list[i + 1], _list[i] 8 conten += 1 9 if conten == 0: 10 continue 11 for j in range(len(_list) - 1): 12 if _list[j + 1] != _list[j] + 1: 13 res = '無序' 14 break 15 else: 16 res = '有序' 17 print(res) 18 19 20 if __name__ == '__main__': 21 li = [1, 4, 3, 2] 22 one_func(li) 23 print(li)
蕭伯納說:“你有一個蘋果,我有一個蘋果,彼此交換一下,我們彼此仍然是各有一個蘋果;但是你有一種思,我有一種思想,彼此交換一下,才發現從不同角度看到的問題遠比本身更深刻,所以多交流多溝通是我們提高自我能力的一種方式!!!
如果你有更好更簡單的方法,請一定評論謝謝!!!