📊 C++ 实现:计算序列中第 k 大与第 k 小的差值
### 📝 C++ 代码实现 以下是解决该问题的 C++ 代码,代码中包含详细 ```cpp #include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { int n, k; cin >> n >> k; // 输入序列长度 n 和 k 值 vector<int> sequence(n); for (int i = 0; i < n; ++i) { cin >> sequence[i]; // 输入序列中的每个数 } // 对序列进行升序排序 sort(sequence.begin(), sequence.end()); // 第 k 小的数是 sequence[k - 1] // 第 k 大的数是 sequence[n - k] int kth_min = sequence[k - 1]; int kth_max = sequence[n - k]; // 输出第 k 大的数减去第 k 小的数的值 cout << kth_max - kth_min << endl; return 0; } ``` ### 📌 代码解析 1. **输入部分** - 使用 `cin` 读取序列长度 `n` 和整数 `k`。 - 使用 `vector` 容器存储序列中的每个数。 2. **排序部分** - 使用 `sort` 函数对序列进行升序排序。 - 排序后,序列中的元素按从小到大的顺序排列。 3. **计算第 k 小和第 k 大** - 第 k 小的数位于排序后序列的第 `k - 1` 个位置(索引从 0 开始)。 - 第 k 大的数位于排序后序列的第 `n - k` 个位置。 4. **输出结果** - 计算第 k 大的数减去第 k 小的数的值,并输出结果。 ### 🚀 示例运行 #### 示例 1 输入: ``` 3 1 5 1 3 ``` 输出: ``` 4 ``` 解释: - 排序后的序列为 `[1, 3, 5]`。 - 第 1 小的数是 `1`,第 1 大的数是 `5`。 - 差值为 `5 - 1 = 4`。 #### 示例 2 输入: ``` 5 2 3 2 5 1 4 ``` 输出: ``` 2 ``` 解释: - 排序后的序列为 `[1, 2, 3, 4, 5]`。 - 第 2 小的数是 `2`,第 2 大的数是 `4`。 - 差值为 `4 - 2 = 2`。 ######[AI问答 | 660点数解答 | 2026-05-31 21:40:26]
- 求解特定条件下整数序列的最小值:算法分析与代码实现(字节豆包 | 746点数解答 | 2026-01-24 13:14:40)82
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)401
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)368
- iOS开发揭秘:序列(Sequence)索引是否从0开始?实例为你解答!(百度文心 | 187点数解答 | 2023-11-09 17:44:38)263
- MATLAB实现r5(n)序列离散傅立叶变换及补零至20长序列DFT计算 (GPT | 339点数解答 | 2024-10-28 16:31:47)303
- 求解整数序列操作最小次数:让前缀和之和等于后缀和之和(DeepSeek | 1329点数解答 | 2025-05-25 17:27:01)248
- C++求解:使整数序列前缀和之和等于后缀和之和的最小操作次数(DeepSeek | 532点数解答 | 2025-05-25 17:27:47)277
- 32位二进制IP地址转点分十进制:Python代码实现及示例(DeepSeek | 102点数解答 | 2026-01-20 13:53:38)65
- C++:轻松判断 int 型整数 32 位内码是否对称,附代码详解!(字节豆包 | 560点数解答 | 2026-01-23 19:44:43)53
- C++ 代码实现自定义运算 x@y = x² + y² - xy 及 x@(x+y) 计算(DeepSeek | 215点数解答 | 2025-12-13 15:08:14)111
- C++ 实现根据输入正整数奇偶性计算偶数和或约数和(字节豆包 | 838点数解答 | 2026-02-28 20:23:59)80
- 解决代码WA问题:修改整数溢出问题后的计算代码(字节豆包 | 749点数解答 | 2026-05-10 16:20:03)28