【面试算法题总结01】输入输出处理基础

本文是【面试算法题总结】系列的一部分,主要讲解面试中处理输入输出的基础知识,特别是Java中的Scanner类的使用。强调了在面试时写算法的建议,如优先确保代码能运行,合理命名变量,多写注释等。此外,文章通过四个例题介绍了如何处理特定数量和不定数量的数字及字符串输入,并列举了一些IntelliJ IDEA的常用快捷键,帮助提升编程效率。
摘要由CSDN通过智能技术生成

系列说明:

【面试算法题总结】系列主要是以各个算法为单元总结常见算法题,主要题源为leetcode的《剑指offer》和《hot100》两个专题。链接如下:
剑指offerhot100

这里简单说明一下,一道题目可能有多种解法,或者类似题目却有完全不同的解法,我每篇总结的例题并不一定用的都是标题写的算法,而是可能会拓展更多有关解法,以及类似题目。

反正最终目标就是:誓死解决写算法得过且过、缺少训练量的问题。不熟的代码就一遍一遍的写,一遍一遍的理解,直到会写为止。

面试时写算法的一点个人建议:

  1. 高效运行>运行成功>运行失败:想出低效思路后,思考3分钟有没有高效思路,如果没有就先用低效思路写出来,保证先运行成功;想用一些现成的方法简化代码,但方法名实在是想不起来就自己实现一下,保证先运行成功
  2. 变量命名,实在不会对应英文就直接用个字母,犹豫半天写个错误单词更狼狈
  3. 多写注解,即给面试官看,也是给自己看
  4. 要传回去的值再考虑要不要用全局变量吧,其他的就通过参数传递就好
  5. 运行成功之前要自信、自信、再自信。要有 “就这破题还不是小意思” 的自信
  6. 运行成功之后要小心、小心、再小心。要有正确性、健壮性和优化时间、空间的思考
     

 

输入输出处理基础:

并不是所有公司的机试环境都是“核心代码模式”,有些是“ACM模式”,需要自己写输入输出处理。牛客、力扣等编程平台的编码模式也都是根据题库来的,可能是核心代码模式,也可能是ACM模式。这是无法选择的,只能适应。

Scanner类

(1)next() 与 nextLine() 方法获取输入的字符串,读取前一般使用 hasNext 与 hasNextLine 判断是否还有输入的数据
next以空格结束。nextLine以回车结束,使用它时要确定好游标的真正位置,可能要先处理一个多余的回车
(2)如果要输入 int 或 float 类型的数据,输入之前先使用 hasNextXxx() 方法进行验证,再使用 nextXxx() 来读取

 

例题1 特定个数的数字输入

/**数组求和 一直输入
1 5
10 20
6
30* */

import java.util.*;
public class Main{
   
  public static void main(String[] args) {
   
    Scanner sc = new Scanner(System.in);
    while (sc.hasNext()) {
   
      int a = sc.nextInt();// long a=sc.nextLong();
      int b = sc.nextInt();// long b=sc.nextLong();
      System.out.println(a + b
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值