酷代码 AI
菜单
服务商

C++ 计算序列中第 k 大和第 k 小数的差值

### 📚 C++ 解答:计算序列中第 k 大和第 k 小数的差值 下面是使用 C++ 基础语言编写的代码,用于计算给定序列中第 k 大和第 k 小数的差值。 ```cpp #include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { int n, k; cin >> n >> k; vector<int> sequence(n); for (int i = 0; i < n; ++i) { cin >> sequence[i]; } // 排序序列 sort(sequence.begin(), sequence.end()); // 第 k 小的数 int kth_min = sequence[k - 1]; // 第 k 大的数,等于排序后从后往前数的第 k 个数 int kth_max = sequence[n - k]; // 计算差值 int result = kth_max - kth_min; cout << result << endl; return 0; } ``` ### 📝 代码解释 1. **输入读取**: - 使用 `cin` 读取两个整数 `n` 和 `k`。 - 使用 `vector<int>` 存储序列,并通过循环读取序列中的每个数。 2. **排序序列**: - 使用 `sort` 函数对序列进行升序排序。 3. **计算第 k 小的数**: - 排序后,第 k 小的数位于索引 `k - 1` 处。 4. **计算第 k 大的数**: - 排序后,第 k 大的数位于索引 `n - k` 处。 5. **计算差值**: - 计算第 k 大的数和第 k 小的数的差值,并输出结果。 ### 💡 示例运行 **输入 1**: ``` 3 1 5 1 3 ``` **输出 1**: ``` 4 ``` **输入 2**: ``` 5 2 3 2 5 1 4 ``` **输出 2**: ``` 2 ``` ######[AI问答 | 541点数解答 | 2026-05-31 21:42:05]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]