美团3.15移动端笔试
#美团笔试# 线上两小时。
选择题30题 编程题有2道,听其他人说别的岗位是3道 两题都是全对 第一题是翻转 第二题是f(i,j)
第一题满分代码
#include "bits/stdc++.h" using namespace std; using i64 = int64_t; void solve() { string s; cin >> s; string t; for (int i = 0; i < (int) s.size(); i++) { if (s[i] == 'Z') { if (!t.empty()) { t.pop_back(); } } else { t += s[i]; } } string ans; for (int i = 0; i < (int) t.size(); i++) { if (t[i] == 'R') { reverse(ans.begin(), ans.end()); } else { ans += t[i]; } } cout << ans << '\n'; } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int t; cin >> t; while (t--) { solve(); } return 0; }
第二题满分代码
#include "bits/stdc++.h" using namespace std; using i64 = int64_t; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int l1, r1, l2, r2; cin >> l1 >> r1 >> l2 >> r2; i64 ans = 0; for (int i = l2; i <= min(r2, r1); i++) { ans += r1 / i - (l1 - 1) / i; } cout << ans << '\n'; return 0; }