1 条题解
-
0
📝 题目大意
给定 个整数,判断它们是否全部相等,若全相等输出
Yes,否则输出No。💡 解题思路
- 题目分析:,,数据范围极小,任何 甚至 的做法都能轻松通过。核心是判断所有元素是否相等。
- 算法推导:将数组排序后,若最小值
a.front()等于最大值a.back(),则说明所有元素都相等(因为排序后首尾相同意味着中间所有元素也与首尾相同)。也可以直接遍历数组,检查是否每个元素都与第一个元素相等,但排序法代码更简洁。 - 边界与细节: 时直接比较两个元素即可,排序法同样适用。注意输出大小写:是
Yes/No而非YES/NO。
⏱️ 复杂度分析
- 时间复杂度:(排序开销),若用遍历法可做到 。
- 空间复杂度:(存储数组)。
💻 标准代码 (C++)
#include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; vector<int> a(n); // 读入 N 个整数 for (int i = 0; i < n; i++) { cin >> a[i]; } // 排序后,若首尾相等则所有元素都相等 sort(a.begin(), a.end()); if (a.front() == a.back()) { cout << "Yes" << endl; } else { cout << "No" << endl; } return 0; }
- 1
信息
- ID
- 744
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- (无)
- 递交数
- 1
- 已通过
- 1
- 上传者