VIPKID秋招2020届Android笔试编程题(2019.9.3)--Binrry(冰蕊)

第一题:

  • 移动平均数

  • 时间限制:C/C++语言 1000MS;其他语言 3000MS
    内存限制:C/C++语言 65536KB;其他语言 589824KB
    题目描述:
    从第一行读入一组整数xs,第二行读入一个整数k,求xs序列中,每k项的平均值组成的新序列。

  • 例如:xs=[1,2,3,4,5,6,7], k=3时,output=[2,3,4,5,6]

  • 输入
    第一行,空格分隔的n个整数。
    第二行,一个整数k。

  • 输出
    空格分割的n-k+1个平均数,每个平均数保留两位小数。

  • 样例输入
    1 2 3 4 5 6 7
    3

  • 样例输出
    2.00 3.00 4.00 5.00 6.00

核心思路
1.两层for循环:外层由0到(n-k+1),内层由(j=i)到(k+i)
2.System.out.print(String.format("%.2f", sum/k))输出结果即可

详细代码:
VIPKID秋招2020届Android笔试编程题(2019.9.3)--Binrry(冰蕊)_第1张图片

第二题:

  • 寻找zero 组数

  • 时间限制:C/C++语言 1000MS;其他语言 3000MS
    内存限制:C/C++语言 65536KB;其他语言 589824KB
    题目描述:
    给定一个整数的数组,找出其中的pair(a, b),使得a+b=0,并返回这样的pair数目。(a, b)和(b, a)是同一组。

  • 输入
    整数数组

  • 输出
    找到的pair数目

  • 样例输入
    -1, 2, 4, 5, -2

  • 样例输出
    1

核心思路
1.第一行输入时先根据,分割成数组,在转成int时s[i]=s[i].trim();即可
2.把输入的数字作为key存入HahMap中,value设置为零;再看有无(0-每个数)即可得到a+b=0

详细代码:
VIPKID秋招2020届Android笔试编程题(2019.9.3)--Binrry(冰蕊)_第2张图片

总结归纳

  1. Java输出两位小数做法跟C语言相似System.out.print(String.format("%.2f", re[i]));
  2. 遇到无法正常分割的字符串可用巧劲,比如先根据(,)分割后在去空字符串即可

求:有没有遇到上面两道类似的题型可以留言哦,大家一起探讨。

你可能感兴趣的:(Java,秋招笔试,2020届)