HackerRank Staircase挑战Golang实现提交不被接受问题排查
Golang解决HackerRank Staircase挑战提交失败的修复方案
你的代码存在两个核心问题,导致不符合挑战的输出要求:
- 循环逻辑错误:初始循环变量
i=0时,会输出n个空格加0个#,违反了题目中第一行需包含1个#的规则 - 输出格式冗余:
fmt.Println的多参数输出会在空格串和#串之间自动添加一个空格,导致每行总长度变为n+1,超出了题目要求的每行长度严格等于n的限制
修复后的代码:
import ( "fmt" "strings" ) func staircase(n int32) { for i := int32(1); i <= n; i++ { line := strings.Repeat(" ", int(n-i)) + strings.Repeat("#", int(i)) fmt.Println(line) } }
关键修复点:
- 调整循环范围为
i从1到n,保证第i行恰好包含i个# - 先将空格串和
#串拼接成完整的一行字符串,再输出,避免额外空格的插入,确保每行长度严格等于n
内容的提问来源于stack exchange,提问作者mona moghadampanah
相关产品推荐
相关产品推荐

