面试ACM模式: 处理输入输出Java

情况1: 全都是数字的输入,每行数字个数不定

情况2:每行第一个数字为确定的数字n,后面跟着n个数字

情况3: 每行确定有n个数字的情况

情况4: 第一行是一个数字n, 第二行是n个字符串

补充:java处理输入的坑点避免

  • 全局只能new出一个Scanner对象,如果有多个,会出现不可预见的问题!
  • 关于next() 函数、nextInt()函数、nextLine()函数:

nextInt(): 只读取整数类型数据, nextInt()在读取完输入后把光标放在读取数据的同一行,该数据的后面。

next(): 只读取到空格,不能读取被空格分开的两个单词(也就是不能读取空格),并且在读取完后把光标放在读取数据的同一行,该数据的后面。(同上)

nextLine(): 读取整行的数据包括单词间的空格,到回车结束(也就是从开始读一整行包括回车),读取结束后,光标放在下一行开头。

总结:nextInt()只读取了数值2,剩下"\n"还没有读取,并将光标放在本行中2后面。接着nextLine()会读取"\n",并结束本次读取。

#实习##刷题##java#
后端实习秋招八股专栏-Java 文章被收录于专栏

针对实习秋招的同学,无论你是零基础入门还是已经在刷题的道路上驰骋的同学。在这里,你都能针对性的提高自己的刷题能力,提升自己对算法题的认知。 本专栏目的在于帮助需要帮助的同学顺利拿到实习以及秋招的offer! 适合:实习秋招求职同学、社招学习同学

全部评论
m
1 回复 分享
发布于 2024-03-09 00:48 江苏
mark
点赞 回复 分享
发布于 08-03 18:39 北京
m
点赞 回复 分享
发布于 04-23 08:45 广东
mark
点赞 回复 分享
发布于 04-17 19:37 河北
m
点赞 回复 分享
发布于 2024-08-14 17:53 青海
m
点赞 回复 分享
发布于 2024-07-15 22:20 江苏
m
点赞 回复 分享
发布于 2024-05-30 21:29 浙江
m
点赞 回复 分享
发布于 2024-04-03 09:35 北京
m
点赞 回复 分享
发布于 2024-03-22 01:13 江苏
m acm模式
点赞 回复 分享
发布于 2024-03-13 22:01 重庆
在哪练得啊。。。
点赞 回复 分享
发布于 2024-03-13 10:55 河南
M
点赞 回复 分享
发布于 2024-03-12 22:38 吉林
感谢大家喜欢,点点关注不迷路 哈哈
点赞 回复 分享
发布于 2024-03-12 21:20 上海
佬,有Python版本的吗
点赞 回复 分享
发布于 2024-03-12 20:37 上海
cy
点赞 回复 分享
发布于 2024-03-11 16:07 湖南
m
点赞 回复 分享
发布于 2024-03-09 19:35 安徽
m
点赞 回复 分享
发布于 2024-03-02 14:39 上海
m
点赞 回复 分享
发布于 2024-02-26 23:06 贵州
点赞 回复 分享
发布于 2024-02-26 19:53 北京

相关推荐

09-22 10:08
已编辑
西安石油大学 后端工程师
9.2号投递,9.16约面,泡了两周左右。9.18号面试。全长40分钟左右。--------实习项目拷打环节--------1. 面试官自我介绍,介绍部门,业务等2. 自我介绍(公式化)3. 介绍一下实习项目(开始介绍,着重说了一下项目中邮件推送功能,介绍自己实习产出)4. 你说项目中用到了分布式id?说一下常见分布式id答: 时间戳,uuid,雪花算法,我说项目中用的雪花算法。5. 说一下雪花算法具体怎么实现的答: 说的时候有点紧张,不过说清楚了雪花id根据每秒时间生成保证的有序性。6. 项目用到了jwt?说说jwt。答: 介绍了一下jwt的结构,然后项目中使用redis存储token,介绍的时候我顺便说了一下token双刷,token黑名单等。7. 说一下threadlocal原理(我简历里没写,被问到了,不过幸好八股记得还算全)答: threadlocal的key是弱引用,必须手动释放,否则会有内存泄漏,应用场景:一个线程内传递参数,可以减少实际方法中的参数传递。等等---------玩具项目拷打环节(xfg的拼团)-------8. 你说项目中用到了规则树是吧,讲解一下具体怎么实现。答: 这里差点忘了,玩具项目好久没看了,说了一堆,勉强圆回来了。9. redis的bitmap具体怎么来做人群过滤的?说一下bitmap。答: 公式化bitmap八股,然后说的时候结合一些经典场景说了一下用户过滤。10. 责任链模板讲一下,具体怎么做的?答 : 依旧结合场景,靠当时做项目的回忆来答。(感觉这个项目还需要再复习一下,问的还挺多的)-------实习项目二次拷打------11. 消息队列的可靠性怎么保证?重复消费,顺序消费答: 公式化消息队列八股,消息重试、唯一id、消费者确认、生产者确认、死信队列等等等等(开始吟唱)12. 重点讲讲你实习中消息推送这个功能吧,为什么要用rpc和消息队列?答: 这个实习时候确实做过,所以答的挺顺畅。13. 场景设计题目: 如果现在我们需要对接很多个第三方支付的功能,比如微信,支付宝等,但是具体实现要分离开,同时我还要在每个支付功能的具体实现前后添加内容。请问上述场景的话,让你设计,你会用几种设计模式实现呢?答: 首先可以使用策略模式,类比实习项目中使用策略模式对接不同的第三方邮件发送服务,然后的话要在每个具体支付功能前后加代码的话,可以使用代理模式来进行添加14. 追问: 策略模式一般搭配什么模式使用呢?没答出来,面试官提示工厂模式。15. 你项目中提到了做了慢查询sql的优化?你来说说定位慢查询,排查的整个流程。答: 首先查询全局变量查看慢查询是否开启,同时根据获取到的日志路径,通过mysqldumpslow查看日志,找到日志问题,实际执行的时候可以使用explain关键字查看,后面就说索引失效、回表、实际执行语句时不能用函数等等。答到这里其实答的都很好,后面面试官问了几个java基础问题(这里太久没看,模糊了),答得一坨,想找个地缝钻进去。16. 说一下访问修饰符答: 一共四种,答了private,public,protected和各最后我把默认的没有修饰符的情况漏了,说一下各自作用域,没答出来没有修饰符的情况的作用域。17. 说一下runtimeException和普通异常的区别。答: 脑子蒙住了,没答出来。后面面试官说runtime会导致编译不通过,其他的话,抛出的话不会影响。18. java8的stream流了解吗,list通过stream转为map该怎么写,说一下。答: 又蒙了,忘了这个api了。只说了一下.stream().filter(),后面的记不太清楚了。最后两道leetcode算法手撕。1. 二分查找(板子题,直接秒)2. 删除链表的倒数第n个节点(直接秒)最后反问环节:1. 请问如果面试通过的话,一共几面?答: 两轮技术面,一轮hr面2. 请问我还有什么不足,有什么需要提升的。答: 算法没问题,就是java基础概念需要加强,要多注重基础。总体感受:面试官人很好,我不会的都会一个一个回答,也不会存在打断,面试体验很好。许愿过一面---------------寄,9.22发感谢信了
查看17道真题和解析
点赞 评论 收藏
分享
全程八股,无项目,无手撕-- 自我介绍,项目上线部署怎么部署的(回答nginx + java -jar分别启动前后端)-- 常见排序算法以及时间复杂度。(这个之前没准备,被面试官说算法这方面掌握的不是很好(天崩开局))-- TCP和UDP的区别(有无链接,可靠性,速度),应用场景-- 网络分层(OSI七层架构, TCP/IP四层架构(四层这个没说上来))-- HashMap(线程安全否?为什么?)HashSet(线程安全否?和HashMap的区别?答底层是基于HashMap实现的,不过是key存储数据,value为null)-- 线程安全的map有哪些?(CurrentHashMap,HashTable)怎样实现线程安全(写时加锁,使用synchronized锁)-- synchronized锁特性(这个答的不是很好,只回答了它是重量级锁,以及可重入,其他的特性忘记了。面试官不是很满意,于是额外说自己还了解synchronized锁底层原理,将面试官向轻量级锁,锁膨胀这些过程引导)-- 单例模式了解吗?(了解)单例模式有个双检锁问题,怎么解决?(为实例加volatile关键字)为什么我们已经加锁了,还会出现这个问题?(JVM的指令重排导致的)-- 指令重排是什么?volatile在其中做了什么事情?(volatile的读写屏障防止指令重排)-- 线程池了解吗?线程池的参数?(七个,阻塞队列差点忘了)提到了线程工厂,线程工厂是什么?做什么用的?-- 线程池的工作流程?怎样保证其正常运转的?(将初期没满的时候怎么执行,后来阻塞队列满了开启救急线程,全满了有哪些淘汰策略)核心线程是在什么时候创建的,线程池创建好就已经创建了还是说来任务之后再创建?(这个没答上来,后面面试官提示说是一开始就创建好了)-- Spring中bean的生命周期?(Spring这块没有深入了解,直接说Spring底层的原理不是很了解,面试官就没追问下去了)-- 数据库了解吗?(回答了解,很熟练(数据库准备的很充分,将面试官向这方面引导))-- 数据库类型(SQL关系型, NoSQL非关系型)了解MongoDB吗?(不了解)-- Redis底层用什么语言写的?看过源码吗?SDS了解吗?和Java的String有什么区别?(获取长度O1,动态扩容,防止频繁扩容)-- 跳表了解吗,讲一下?问点实的,跳表什么时候会增加高度?(不会这个)-- Redis除了做缓存还可以做什么?(分布式保存用户登录态,缓冲,消息队列)能做缓冲吗?(回答能(其实不是很确定))-- Redis单机1G内存能撑多少并发?(回答10万QPS)压测过吗?(没有,之前在学习的时候网上说10万+,面试官表示压测过才知道多少并发)-- Redis为什么快?IO多路复用细讲一下(不了解)-- MySQL存储引擎?有什么区别?InnoDB和MyISAM在存储文件上有什么区别?(存储文件这个不清楚)-- 事务的核心四个点(ACID),MySQL隔离级别?常用哪种?(回答RR,面试官表示RC也常用)RC什么场景下会出现问题?RC常用什么场景?(这个不清楚)-- 幻读问题怎么避免?(回答的快照读,实际上是间隙锁解决的)幻读是怎么产生的?MVCC解决的是什么问题?(不可重复读)-- 间隙锁了解吗?讲一下。(因为前面没说出来幻读是靠间隙锁解决,这里面试官提问了这个问题)间隙锁锁的是一个什么区间?-- git用过吗?(答基本的推拉仓库会,复杂的不会用,不过这一般都可以在网上搜到)-- java对象分几种类型?(没答上,当时没想到基本数据类型和引用数据类型这个)java有几种基础数据类型?(八种回答了七种,少了个short)为什么基本数据类型是有初始值的?(这个不会)(对JVM底层这些不是很熟,面试官不再追问下去了)-- 反问。总结:算法,计网,操作系统,JVM不熟,JUC, MySQL,Redis不错
mengnankk:这么多
点赞 评论 收藏
分享
评论
31
219
分享

创作者周榜

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