top1编程
← 返回题目
题解

【入门】判断三个整数是否相邻

1 条题解

  • 0
    @ 2026-7-30 1:37:26

    解题思路

    先排序三个数,检查相邻两个数是否都相差1。

    参考代码

    #include <iostream>
    using namespace std;
    
    int main() {
        int a, b, c, t;
        cin >> a >> b >> c;
        // 题目说输入不一定有序,所以先排序。
        if (a > b) { t = a; a = b; b = t; }
        if (b > c) { t = b; b = c; c = t; }
        if (a > b) { t = a; a = b; b = t; }
        // 排序后相邻且每次相差1,三个数才是相邻整数。
        if (b == a + 1 && c == b + 1) cout << "TRUE";
        else cout << "FALSE";
        // 输出结果后程序结束。
        return 0;
    }
    

    复杂度分析

    代码只使用了简单变量、循环和字符串。设输入长度为 n,时间复杂度为 O(n^2)(若有嵌套枚举则按实际循环计算),额外空间复杂度为 O(n)。

    • 1