zoukankan      html  css  js  c++  java
  • python不使用系统库中的排序方法判断一个数组是否是有序数组

     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)

    萧伯纳说:“你有一个苹果,我有一个苹果,彼此交换一下,我们彼此仍然是各有一个苹果;但是你有一种思,我有一种思想,彼此交换一下,才发现从不同角度看到的问题远比本身更深刻,所以多交流多沟通是我们提高自我能力的一种方式!!!

    如果你有更好更简单的方法,请一定评论谢谢!!!

  • 相关阅读:
    define vs const vs enum
    解决Ubuntu 14.04 LTS 浏览网页速度慢的问题
    C语言两种产生矩阵的方法
    GTK 添加图标
    Unix Socket 端口 reuse
    Linux GTK Hello,World
    插件使用记录
    原型链和new
    each函数循环数据表示列举,列举循环的时候添加dom的方法
    字体圆润属性的使用-webkit-font-smoothing: antialiased
  • 原文地址:https://www.cnblogs.com/logn2/p/python.html
Copyright © 2011-2022 走看看