携程笔试 Golang选手输入输出求助

输入四行,第一行n,后三行都是长度为n的数组,我这样输入输出有什么问题?过了30%后就报错,说在第一个val, _ := strconv.Atoi(tmps[i])这里发生了越界,数组长度只有1

var n int
input := bufio.NewScanner(os.Stdin)
input.Scan()
n, _ = strconv.Atoi(input.Text())
arr1, arr2, arr3 := make([]int, n), make([]int, n), make([]int, n)
input.Scan()
tmps := strings.Split(input.Text(), " ")
for i := 0; i < n; i++ {
val, _ := strconv.Atoi(tmps[i])
arr1[i] = val
}
input.Scan()
tmps = strings.Split(input.Text(), " ")
for i := 0; i < n; i++ {
val, _ := strconv.Atoi(tmps[i])
arr2[i] = val
}
input.Scan()
tmps = strings.Split(input.Text(), " ")
for i := 0; i < n; i++ {
val, _ := strconv.Atoi(tmps[i])
arr3[i] = val
}

fmt.Println(solution3(arr1, arr2, arr3))
全部评论
请问是实习吗还是春招
点赞 回复
分享
发布于 04-18 13:41 广东
终端输入输入的时候正常输入“1 2 3”而不是“123”
点赞 回复
分享
发布于 04-19 09:18 山东
联想
校招火热招聘中
官网直投

相关推荐

第一题:求最小插入字符‘o'的数量,使得输入的字符串有连续的you字段,比如输入yuyu,输出2,输入yuyou,输出1,输入youyou,输出0,输入yyyy输出0;第二题:有三个数组,ai,bi,ci,先输入n代表这算个数组的长度,再依次输入每个数组的数字,求使ai+bi=ci成立的i值,比如输入:41&nbsp;2&nbsp;3&nbsp;45&nbsp;6&nbsp;7&nbsp;80&nbsp;12&nbsp;8&nbsp;1输出2,解释(对ci也就是第三行排序,有ci=[0,8,1,12],所以i=2);再比如输入:41&nbsp;2&nbsp;3&nbsp;45&nbsp;3&nbsp;2&nbsp;61&nbsp;5&nbsp;0&nbsp;2输出2,解释,对ci进行排序,有ci=[1,5,0,2],所以i&nbsp;=1,这里5只能用一次,位置2用完不能给位置3再用了!!!第三题(大意):给一个数组,让这个数组中的素素两两合并,输出数组的最小长度,比如输入[1,3,2,5,4],输出3,解释:先合并3和2有[1,5,5,4]再合并5和5有[1,10,4],输出3第四题(大意,这题我没太看懂题):大意是,先定义了一个最长路径,是树中任意两个端点间的最大距离,又定义了一个f(i),表示给第i个节点,添加一个新的节点(似乎这里是新的节点,不是添加新的叶子节点)后的最长路径。输入:5(代表节点个输,5代表5个节点)1&nbsp;2(代表1是2的父节点)2&nbsp;3(代表2是3的父节点)3&nbsp;42&nbsp;5输出:(输出记不清了,印象中输出第一行是4,第2行是3(要么就是4),第三行是4(要么就是3),剩下几行不记得了)
投递携程等公司8个岗位
点赞 评论 收藏
转发
1 1 评论
分享
牛客网
牛客企业服务