今年華爲優招筆試總共三道編程題
一 、歌唱打分
青年歌手大賽評委打分,打分規則是去掉一個最高分和一個最低分,然後計算平均分。
輸入描述:輸入數據有多組,每組佔一行,每行第一個數n表示評委人數,然後是n個評委的打分
輸出描述:輸出保留兩位小數,每組輸出一行
示例:
輸入:
3 99 98 97
4 100 99 98 97
輸出:
98.00
98.50
二、猜數字
xAyB猜字遊戲,輸入兩組數字,每組數字包含4個非負整數,同一組中的四個數字互不相同,數字間以空格分隔。
第一組數字爲猜數字遊戲的正確答案,第二組數字爲玩家所猜的答案,根據以下規則輸出猜數字的結果xAyB。
規則1:如果數字相同,且位置相同,則得到一個A
規則2:如果數字相同,且位置不同,則得到一個B
輸入描述:兩組數字,每組數字包含4個非負整型數字,同一組中的四個數字互不相等,數字以空格分隔
輸出描述:xAyB
示例:
輸入:
1 2 3 4
1 2 5 3
輸出:
2A1B
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s1 = sc.nextLine();
String s2 = sc.nextLine();
String[] array1 = s1.split(" ");
String[] array2 = s2.split(" ");
int stateA = 0;
int stateB = 0;
for (int i = 0; i < array1.length; i++) {
for (int j = 0; j < array2.length; j++) {
if (array1[i].equals(array2[j])) {
if (i == j) {
stateA++;
} else {
stateB++;
}
}
}
}
System.out.printf("%dA%dB",stateA,stateB);
}
}
三、獨木橋
在河上有一座獨木橋,一隻青蛙想沿着獨木橋從河的一側跳到另一側。在橋上有一些石子,青蛙很討厭踩在這些石子上。由於橋的長度和青蛙一次跳過的距離都是正整數,我們可以把獨木橋上青蛙可能到達的點看成數軸上的一串整點:0,1,……,L(其中L是橋的長度)。座標爲0的點表示橋的起點,座標爲L的點表示橋的終點。青蛙從橋的起點開始,不停的向終點方向跳躍。一次跳躍的距離是S到T之間的任意正整數(包括S,T)。當青蛙跳到或跳過座標爲L的點時,就算青蛙已經跳出了獨木橋。
題目給出獨木橋的長度L,青蛙跳躍的距離範圍S,T,橋上石子的位置。你的任務是確定青蛙要想過河,最少需要踩到的石子數。
輸入描述:輸入文件river.in的第一行有一個正整數L(1 <= L <= 10^9),表示獨木橋的長度。第二行有三個正整數S,T,M,分別表示青蛙一次跳躍的最小距離,最大距離,及橋上石子的個數,其中1 <= S <= T <= 10,1 <= M <= 100。第三行有M個不同的正整數分別表示這M個石子在數軸上的位置(數據保證橋的起點和終點處沒有石子)。所有相鄰的整數之間用一個空格隔開。
輸出描述:輸出文件river.out只包括一個整數,表示青蛙過河最少需要踩到的石子數。
示例:
輸入:
10
2 3 5
2 3 5 6 7
輸出:
2
參考這位大神的帖子:https://blog.csdn.net/zero_from/article/details/52958796