牛客春招刷题训练营-2025.3.10题解

活动地址: 牛客春招刷题训练营 - 编程打卡活动

简单题 字符串最后一个单词的长度

fmt.Scan 适合读取 简单输入(以空格或换行分隔)。

fmt.Scanln 适合 读取一整行,但不能有带空格的单个变量。

fmt.Scanf 适合 格式化输入,类似 printf 的格式。

如果需要读取带空格的整行字符串,应使用 bufio.NewReader。

  • 使用 for 循环不断读取标准输入中的字符串。
  • fmt.Scan(&s):从标准输入读取一个字符串并存储在变量 s 中。
  • if n == 0 { break }:如果读取的字符数为 0,则跳出循环。
  • fmt.Println(len(s)):输出字符串 s 的长度。
package main

import "fmt"

func main() {
	var s string
	for {
		n, _ := fmt.Scan(&s)
		if n == 0 {
			break
		}
	}
	fmt.Println(len(s))
}

中等题 明明的随机数

  • 根据题目数据范围() 我们可以创建一个能包含该数据范围的布尔数组 a,用于记录每个数字是否出现。
  • 读取 n 个整数,并将对应位置的布尔值设为 true,表示该数字出现过。
  • 最后遍历 1 到 500 的数字,输出布尔数组中值为 true 的位置,即为出现过的数字。
package main

import "fmt"

func main() {
	var n int
	fmt.Scan(&n)
	a := make([]bool, 501)
	for i := 0; i < n; i++ {
		var x int
		fmt.Scan(&x)
		a[x] = true
	}
	for i := 1; i <= 500; i++ {
		if a[i] {
			fmt.Println(i)
		}
	}
}

困难题 坐标移动

  • 初始化坐标:初始化坐标 x 和 y 为 0。
  • 读取输入:读取用户输入的一串指令,存储在字符串 s 中。
  • 分割指令:使用分号 ; 分割输入字符串,得到一个指令数组 ops。
  • 处理每个指令:遍历每个指令 op:如果指令长度为 0,跳过该指令。使用 strconv.Atoi 将指令的数字部分转换为整数 d。检查数字是否在 1 到 99 之间。根据指令的方向部分 (op[0]),更新坐标 x 和 y。
  • 输出结果:输出最终的坐标 (x, y)。
package main

import (
	"fmt"
	"strconv"
	"strings"
)

func main() {
	x, y := 0, 0
	var s string
	fmt.Scanln(&s)
	ops := strings.Split(s, ";")
	for _, op := range ops {
		if len(op) == 0 {
			continue
		}
		d, _ := strconv.Atoi(op[1:])
		if d >= 1 && d <= 99 {
			switch op[0] {
			case 'A':
				x-=d
			case 'D':
				x+=d
			case 'W':
				y+=d
			case 'S':
				y-=d
			}
		}
		// fmt.Println(d, x, y)
	}
	fmt.Printf("%d,%d\n", x, y)
}

#牛客春招刷题训练营##牛客创作赏金赛#
牛客春招刷题训练营 文章被收录于专栏

爱丽姐真是太好了

全部评论

相关推荐

02-01 12:05
复旦大学 Java
腾讯的提前批大概率应该是没有笔试的,但是这个时候有相当部分的同学简历估计都没有准备好,没准备好的同学也不用急,大部分都是3月之后开,这个时候开的绝大多数都是神仙打架,问的东西也比较难,打算投递的同学也多看下计算机网络和操作系统,腾讯对这部分的知识问的比较多。另外多刷下牛客的热门题库,刷题注意刷ACM模式,和牛客的周赛题,腾讯有的部门会从这里面出原题。我是@程序员花海关注我,带你了解更多校招资讯!
程序员花海:还没有来得及准备的同学可以看下学习路线:https://www.nowcoder.com/discuss/824693499982315520?sourceSSR=users算法题:https://www.nowcoder.com/feed/main/detail/20e7a999fa04485b88340a274411ca0d?sourceSSR=users八股文:https://www.nowcoder.com/discuss/833102362771251200?sourceSSR=users简历书写方式:https://www.nowcoder.com/discuss/839907820706205696?sourceSSR=users都是以前在牛客发的文章~
软开人,秋招你打算投哪些...
点赞 评论 收藏
分享
2025-12-08 16:04
门头沟学院 Java
本人本科末9,今年大三。大一大二一直玩,什么都没学到,在大学混日子混了两年,每天不是在打农就是在steam。大三开学时一个和自己玩的好的同学去实习了,才发现自己白白浪费了两年的时间,如果真不冲一下就真去京东,阿里,美团送外卖了今年9月份开始学Java,一开始一直跟着黑马视频看,后面发现看视频效率太低了,时间根本不够,就开始主要看文档和看书了。这几个月一直在学,真的尽力了,希望暑期前能找一份好点的实习。我简历上面的项目大多没有指标,但是实际上我是真没多少时间去做项目,我基本主要是动手只做了外卖和天机,黑马点评和12306我都是只是看了项目。主要是自己的时间真的不多,但是这样子自己的代码能力确实比较差。而且自己也没有做过实际的工程,我顶多用jmeter测试一下接口tps啥的,比如使用Redis管道提升了一点性能,减少Redis交互,这种值得写上去吗?需不需要具体到某些数字求求各位佬给一些建议,看看简历怎么优化?项目介绍是不是不够详细?没有具体到业务方面。项目会不会提到大致实现原理导致面试官一看简历就知道怎么实现就没有问的欲望?专业技能一些字段是不是要加粗,是不是写太啰嗦了?有没有必要压缩内容变成一页?两页的话是不是都要把两页填地满满的。
给秋招一个交代:一页简历最好,网上做的项目放面试官眼里都是玩具,简历上不需要强调有什么难点,记住就行防止真的问。然后背八股,多投多面试就行
点赞 评论 收藏
分享
时间线:&nbsp;1.4-1.5:&nbsp;boss&nbsp;牛客&nbsp;官网&nbsp;实习僧海投了两天,&nbsp;感觉确实没啥招人的啊,&nbsp;心里凉了一半.1.6:&nbsp;中午快手约面,&nbsp;下午字节hr飞书私聊约面,&nbsp;当时想着第一次面大厂感觉三个过一个一面就已经赢了.1.7:&nbsp;下午&nbsp;3点大厂处女面,&nbsp;哈哈面试官是重邮红岩的直接保送;&nbsp;5点快手一面,&nbsp;我说这个是我的第二次大厂面试,&nbsp;面试官问要是拿到字节和快手选择哪个,&nbsp;我说昨天看了一晚上快手百分百选快手哈哈哈.&nbsp;晚上5.30字节约二面,&nbsp;快手约二面,&nbsp;小红书约一面.1.8:&nbsp;下午2点快手二面,&nbsp;聊天面体验非常好(当天电话确认入职时间);&nbsp;4点字节二面这次不是校友了,&nbsp;然后有一个CSS实现switch效果的忘记属性咋写了,&nbsp;感觉危了;&nbsp;7.30&nbsp;问字节hr是不是挂了;&nbsp;9点开始小红书一面,&nbsp;难死我了,&nbsp;但我还是笑着面完了,&nbsp;然后卸载了小红书,&nbsp;但是过了一会会小红书hr约二面,&nbsp;遂下回来了字节约三面.1.9:&nbsp;下午2点字节三面,&nbsp;依旧聊天+算法,&nbsp;自己太菜了有一个写错了,&nbsp;面完感觉又危了;&nbsp;5点面小红书20min结束(offer审批);5.30又去问字节hr是不是挂了,&nbsp;hr小姐姐说干嘛用一个句式,&nbsp;我说手写题又又又没写出来😂,&nbsp;2min后约hr面;8.30&nbsp;快手offer总结,&nbsp;自己运气好遇到了好公司好部门好面试官,&nbsp;字节剪映&nbsp;快手电商&nbsp;小红书支付的面试体验都非常好,&nbsp;不会的题会带你一步一步思考,&nbsp;流程也非常快全部都是当天推进,&nbsp;小红书是以分钟为单位推进.&nbsp;&nbsp;面经以及细节等我慢慢整理,&nbsp;&nbsp;以及保佑所有的审批不要出问题,&nbsp;我是真怕最后全过了0offer😂bg:&nbsp;重邮&nbsp;大数据&nbsp;蓝山工作室&nbsp;一段非大厂实习
独角仙梦境:这是真👻了
找实习记录
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务