2020年美团春招 技术综合试卷第一题
生活随笔
收集整理的這篇文章主要介紹了
2020年美团春招 技术综合试卷第一题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述:
????? 扎金花是一種非常受歡迎的紙牌游戲。而在游戲界有一種于扎金花類似的玩法,叫做扎銀花。
????? 相比于扎金花的牌型多變,扎銀花就簡單多了,雖然同樣是三張牌比大小,在扎銀花的規則里只需要把三張牌的點數相加再進行大小比較即可,點數大的人獲勝。
????? 今天我們玩的不是撲克牌,而是一種取值范圍在1-10^9以內的簡單牌,兩個人一開始各自有n張牌,他們會想辦法組合出最大的牌,請你計算出獲勝的一方的三張牌的點數之和。
輸入
? ? ? ??輸入第一行僅包含一個正整數n,代表雙方掌握的牌的數量。(3<=n<=20000)
????????接下來有2行,每行有n個數字,分別代表雙方可選的n張牌。
輸出
? ? ? ? 輸出僅包含一個正整數,即獲勝的一方的最大牌型的點數之和,當然是可能有平局的,此時答案也是唯一的。
樣例輸入
5 1 2 3 4 5 1 2 3 4 6樣例輸出
13解題思路
遍歷數組,找到最大的三個數即可。需要注意的是,數字的范圍是1-1000000000,若三個數加和很容易超出int的范圍,因此使用long型。
解題代碼?
import java.util.Arrays; import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);int n = Integer.valueOf(in.nextLine());String s1 = in.nextLine();String s2 = in.nextLine();String[] l1 = s1.split(" ");String[] l2 = s2.split(" ");long[] k1 = {0, Integer.valueOf(l1[0]), Integer.valueOf(l1[1]), Integer.valueOf(l1[2])};long[] k2 = {0, Integer.valueOf(l2[0]), Integer.valueOf(l2[1]), Integer.valueOf(l2[2])};for (int i = 3; i < n; i++) {long num1 = Integer.valueOf(l1[i]);long num2 = Integer.valueOf(l2[i]);k1[0] = num1;Arrays.sort(k1);k2[0] = num2;Arrays.sort(k2);}long sum1 = k1[1] + k1[2] + k1[3];long sum2 = k2[1] + k2[2] + k2[3];System.out.println(Math.max(sum1, sum2));}}解題結果
?
總結
以上是生活随笔為你收集整理的2020年美团春招 技术综合试卷第一题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Amazon Elasticsearch
- 下一篇: 建信金融科技春季全国笔试卷B编程题