2023 美团笔试题 0819
笔试时间:2023年08月19日 秋招
第一题
题目:小美的外卖订单编号
美团商家的订单发起时,订单编号最开始从 1 开始,后续每发起一个订单,订单编号便在上一订单编号的基础上 +1。为了防止订单号过大,商家还可以设置一个编号上限m,当订单编号超过m时,将又从 1 开始编号。小美想知道,当订单编号上限为m时,第x个订单编号是多少?将有q次询问。
输入描述
第一行输入一个整数q(1<=q<=50000)。接下来q行,每行两个整数m,x。
输出描述
q行,每行一个整数表示答案。
样例输入
4
2 3
5 17
8 2
4 4
样例输出
1
2
2
4
参考题解
如果可以整除,那么直接输出m。否则则是x%m。
C++:
#include <iostream> using namespace std; int main() { int q; cin >> q; for (int i = 0; i < q; i++) { int m, x; cin >> m >> x; if (x % m == 0) { cout << m << endl; } else { cout << x % m << endl; } } return 0; }
Java:
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int q = sc.nextInt(); for (int i = 0; i < q; i++) { int m = sc.nextInt(); int x = sc.nextInt(); if (x % m == 0) { System.out.println(m); } else { System.out.println(x % m); } } } }
Python:
q = int(input()) for _ in range(q): m,x = map(int, input().split()) if x % m == 0: print(m) else:print(x%m)
第二题
题目:小美的加法
小美有一个长度为n的数组,她想将这个数组进行求和,即 sum=a1+a2+...+an。
小美可以使用一次魔法(也可以不使用),将其中一个加号变成乘号,使得sum最大。
求出最大的sum。
输入描述
第一行输入一个整数n。
第二行输入n个整数表示数组a。
输出描述
输出一个整数表示答案。
样例输入
6
1 1 4 5 1 4
样例输出
27
小美可以将 4 和 5 之间的加号改成乘号。
1 + 1 + 4 * 5 + 1 + 4 = 27
参考题解
枚举最大的删除位置即可。
C++:
#include <iostream> #include <vector> #include <algorithm> #include <cmath> using namespace std; int main() { int n; cin >> n; vector<int> a(n); for (int i = 0; i < n; i++) { cin >> a[i]; } int res = -1e9; for (int i = 0; i < n - 1; i++) { res = max(res, -(a[i] + a[i + 1]) + a[i] * a[i + 1]); } int sum = 0; for (int i = 0; i < n; i++) { sum += a[i]; } cout << sum + res << endl; return 0; }
Java:
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] a = new int[n]; for (int i = 0; i < n; i++) { a[i] = sc.nextInt(); } int res = Integer.M
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
2023 秋招笔试题汇总解析 文章被收录于专栏
2023秋招各大笔试题汇总,c++,java,python多种语言分析,解答。