left rotation

package main
import "fmt"

func reverse(num []int, start, end int) {
    for start < end {
        var t = num[start]
        num[start] = num[end]
        num[end] = t
        start++
        end--
    }
}
func main() {
 //Enter your code here. Read input from STDIN. Print output to STDOUT
        var num, n int
    fmt.Scanln(&num, &n)
    arr := make([]int, 0, num)
    for i := 0; i < num; i++ {
        var d int
        fmt.Scanf("%d", &d)
        arr = append(arr, d)
    }
    n = n % num
    reverse(arr, 0, n-1)
    reverse(arr, n, num-1)
    reverse(arr, 0, num-1)
    for i := 0; i < num; i++ {
        fmt.Printf("%d ", arr[i])
    }
    fmt.Println()
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容