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))輸出結果即可

詳細代碼:
在這裏插入圖片描述

第二題:

  • 尋找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

詳細代碼:
在這裏插入圖片描述

總結歸納

  1. Java輸出兩位小數做法跟C語言相似System.out.print(String.format("%.2f", re[i]));
  2. 遇到無法正常分割的字符串可用巧勁,比如先根據(,)分割後在去空字符串即可

求:有沒有遇到上面兩道類似的題型可以留言哦,大家一起探討。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章