文远知行笔试 文远知行笔试题 0414
笔试时间:2024年04月14日
历史笔试传送门:2023秋招笔试合集
第一题
输入描述
给定一个 32 位的符号整数,按位反转,输出其反转的结果。
输出描述
其反转的结果。
样例输入
123
样例输出
321
参考题解
模拟
C++:[此代码未进行大量数据的测试,仅供参考]
include <bits/stdc++.h> const int inf = 0x3f3f3f3f; using i64 = long long; void solve() { int x; std::cin >> x; int rev = 0; while (x != 0) { if (rev < INT_MIN / 10 || rev > INT_MAX / 10) { return 0; } int digit = x % 10; x /= 10; rev = rev * 10 + digit; } std::cout << rev << "\n"; } int main() { std::cin.sync_with_stdio(false); std::cin.tie(0); solve(); return 0; }
Java:[此代码未进行大量数据的测试,仅供参考]
import java.util.Scanner; public class Main { public static final int INF = 0x3f3f3f3f; public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int x = scanner.nextInt(); scanner.close(); int rev = 0; while (x != 0) { if (rev < Integer.MIN_VALUE / 10 || rev > Integer.MAX_VALUE / 10) { return; } int digit = x % 10; x /= 10; rev = rev * 10 + digit; } System.out.println(rev); } }
Python:[此代码未进行大量数据的测试,仅供参考]
def solve(): x = int(input()) rev = 0 while x != 0: if rev < -2**31 // 10 or rev > 2**31 // 10: return digit = x % 10 x //= 10 rev = rev * 10 + digit print(rev) if __name__ == "__main__": solve()
第二题
题目
给定一个用字符数组表示的 CPU 需要执行的任务列表。其中包含使用大写的 A-Z字母表示的26 种不同种类的任务。任务可以以任意顺序执行,并且每个任务都可以在1个单位时间内执行完。CPU 在任何一个单位时间内都可以执行一个任务,或者在待命状态。然而,两个相同种类的任务之间必须有长度为M 的冷却时间,因此至少有连续 n 个单位时间内 CPU 在执行不同的任务,或者在待命状态。你需要计算完成所有任务所需要的最短时间。
输入描述
第一行为整数N(1 <= N<= 10000),代表共有多少个任务;第二行为长度为 N 的字符串T,代表每个任务的种类; 第三行为 M (0<= M<=100),代表相同任务的冷却时间。
输出描述
完成所有任务的最短时间。
样例输入
N=2
T="AB"
M=2
样例输出
2
参考题解
C++:[此代码未进行大量数据的测试,仅供参考]
#include <bits/stdc++.h> const int inf = 0x3f3f3f3f; using i64 = long long; void solve() { int n, m; std::string s; std::cin >> n >> s >> m; std::vector<int> count(26); for (auto c : s) ++count[c - 'A']; int max_t = *std::max_element(count.begin(), count.end()); int cnt = 0; for (auto&&num : count) cnt += (num == max_t); std::cout << std::max(n, (max_t - 1) * (m + 1) + cnt) << "\n"; } int main() { std::cin.sync_with_stdio(false); std::cin.tie(0); solve(); return 0; }
Java:[此代码未进行大量数据的测试,仅供参考]
import java.util.*; public class Main { public static final int INF = 0x3f3f3f3f; public static void main(String[] args) {
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
2024 BAT笔试合集 文章被收录于专栏
持续收录字节、腾讯、阿里、美团、美团、拼多多、华为等笔试题解,包含python、C++、Java多种语言版本,持续更新中。