登录
首页 >  Golang >  Go问答

我错过了什么东西在我输入的时候?

来源:stackoverflow

时间:2024-02-10 15:12:14 494浏览 收藏

一分耕耘,一分收获!既然打开了这篇文章《我错过了什么东西在我输入的时候?》,就坚持看下去吧!文中内容包含等等知识点...希望你能在阅读本文后,能真真实实学到知识或者帮你解决心中的疑惑,也欢迎大佬或者新人朋友们多留言评论,多给建议!谢谢!

问题内容

我正在 hackerearth 中解决一个问题。通过了除 1 之外的所有测试用例,显示“超出时间限制”。我的代码中真正错过了什么?

package main

import(
    "fmt"
    "strings"
)

func rotateRight(numbers []int, size int, k int) []int {
    new_numbers := make([]int, size)
    for index, value := range numbers {
        new_numbers[(index + k) % size] = value
    }

    return new_numbers
}

func main() {
    var test_case, size, k int

    fmt.Scanf("%v", &test_case)
    fmt.Scanln()
    for i := 0; i < test_case; i++ {
        fmt.Scanf("%v %v", &size, &k)
        fmt.Scanln()
        
        numbers := make([]int, size)
        for i := 0; i<size; i++ {
            fmt.Scanf("%v", &numbers[i])
        }

        result := rotateRight(numbers, size, k)

        fmt.Println(strings.Trim(fmt.Sprint(result), "[]"))
    }
}

正确答案


可能是你读取数据的方式的原因,fmt真的很慢,尝试改变一下

package main

import (
    "bufio"
    "os"
)

func main() {
    sc := bufio.NewScanner(os.Stdin)
    sc.Scan()
    sc.Text()//here you have your data
}

此更改将减少浪费的时间

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《我错过了什么东西在我输入的时候?》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>