开发者社区> 问答> 正文

Python 数组翻转指定个数的元素

Python 数组翻转指定个数的元素

展开
收起
游客ejnn55cgkof5g 2020-02-14 18:02:11 929 0
1 条回答
写回答
取消 提交回答
  • def leftRotate(arr, d, n): 
        for i in range(d): 
            leftRotatebyOne(arr, n) 
    def leftRotatebyOne(arr, n): 
        temp = arr[0] 
        for i in range(n-1): 
            arr[i] = arr[i+1] 
        arr[n-1] = temp 
              
      
    def printArray(arr,size): 
        for i in range(size): 
            print ("%d"% arr[i],end=" ") 
      
    
    arr = [1, 2, 3, 4, 5, 6, 7] 
    leftRotate(arr, 2, 7) 
    printArray(arr, 7) 
    以上实例输出结果为:
    
    3 4 5 6 7 1 2
    实例 2
    def leftRotate(arr, d, n): 
        for i in range(gcd(d,n)): 
              
            temp = arr[i] 
            j = i 
            while 1: 
                k = j + d 
                if k >= n: 
                    k = k - n 
                if k == i: 
                    break
                arr[j] = arr[k] 
                j = k 
            arr[j] = temp 
    
    def printArray(arr, size): 
        for i in range(size): 
            print ("%d" % arr[i], end=" ") 
    
    def gcd(a, b): 
        if b == 0: 
            return a; 
        else: 
            return gcd(b, a%b) 
    
    arr = [1, 2, 3, 4, 5, 6, 7] 
    leftRotate(arr, 2, 7) 
    printArray(arr, 7) 
    以上实例输出结果为:
    
    3 4 5 6 7 1 2
    实例 3
    def rverseArray(arr, start, end): 
        while (start < end): 
            temp = arr[start] 
            arr[start] = arr[end] 
            arr[end] = temp 
            start += 1
            end = end-1
      
    def leftRotate(arr, d): 
        n = len(arr) 
        rverseArray(arr, 0, d-1) 
        rverseArray(arr, d, n-1) 
        rverseArray(arr, 0, n-1) 
      
    def printArray(arr): 
        for i in range(0, len(arr)): 
            print (arr[i], end=' ') 
      
    arr = [1, 2, 3, 4, 5, 6, 7] 
    leftRotate(arr, 2) 
    printArray(arr) 
    以上实例输出结果为:
    
    3 4 5 6 7 1 2
    2020-02-14 18:02:31
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载