题解
【入门】求任意三位数打乱次序后的最大值
1 条题解
-
0
解题思路
按照题目要求直接计算。代码中使用简单的循环、判断和数组,把每一步写出来,方便理解。
参考代码
// 读取题目给出的数据。 // 按照题意完成计算。 // 输出最终答案。 #include <iostream> using namespace std; int main() { int x; cin >> x; int a[3] = {x / 100, x / 10 % 10, x % 10}; for (int i = 0; i < 3; i++) { for (int j = i + 1; j < 3; j++) { if (a[i] < a[j]) { int t = a[i]; a[i] = a[j]; a[j] = t; } } } cout << a[0] * 100 + a[1] * 10 + a[2] << endl; return 0; }复杂度
代码只使用了题目需要的循环、判断和数组。若有 n 次循环,时间复杂度为 O(n);只使用固定数量变量时,空间复杂度为 O(1)。
- 1