算法成长之路------CF5A Chat Server‘s Outgoing Traffic(Java题解)

学习目标:算法学习-Day7

题库: 洛谷题库
每天保持发布一篇Java或C算法题解!

题目
题目一样也能和别人高度相似?吐了
题目:https://www.luogu.com.cn/problem/CF5A

样例 1 :

输入:
+Mike
Mike:hello
+Kate
+Dmitry
-Dmitry
Kate:hi
-Kate


输出:
9


样例 2 :

输入:
+Mike
-Mike
+Mike
Mike:Hi I am here
-Mike
+Kate
-Kate


输出:
14


思路:

	输出的是流量
	流量 = 人数 * 字符串长度
	三个关键点:
	1.判断是否以“+”开头
		若是,人数+1
	2.判断是否以“-”开头
		若是,人数-1
	3.循环判断每一行字符串是否含有“:”

习题总结及反思:

	抓住题目的关键点: + ,- , 字符串
	CF又挖坑了:
		特别注意样例2中的Mike说的话中Hi与I之间是间隔三个空格,而am和here之间是间隔1个空格,
		如此才能得到14这个答案
	还有
		循环输入时,要注意Scanner方法的next()和nextLine()的区别
		nextLine():
			nextLine()方法字面上有扫描一整行的意思,它的结束符只能是Enter键,
			即nextLine()方法返回的是Enter键之前没有被读取的所有字符,它是可以得到带空格的字符串的。
		next():
			next()方法在读取内容时,会过滤掉有效字符前面的无效字符,
			对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,
			next()方法会自动将其过滤掉;只有在读取到有效字符之后,next()方法才将其后的空格键、Tab键或Enter键等视为结束符;
			所以next()方法不能得到带空格的字符串。
</
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值