Young87

SmartCat's Blog

So happy to code my life!

游戏开发交流QQ群号60398951

当前位置:首页 >AI写作

c#题例-2025-09-01 22:33:30

请实现一个高效的函数 `FindKthLargest`,用于在**未排序的整数数组**中查找**第 k 大的元素**(从 1 开始计数,k ≥ 1),并分析其时间复杂度。要求不使用系统内置排序函数或堆结构(如 `Sort()`、`SortedSet`、`PriorityQueue` 等),仅通过手动实现算法逻辑完成。

函数签名如下:
```csharp
int FindKthLargest(int[] nums, int k)
```

**附加要求:**
- 如果数组中有重复元素,应**合并处理**,即重复元素视为同一大小。
- 若 k 超过数组中**不同元素的数量**,则返回 `-1` 表示无效输入。

**示例输入:**
```csharp
int[] nums = {3, 2, 1, 5, 6, 4, 5, 6};
int k = 3;
```
**预期输出:**
```csharp
4
```

**请写出完整实现代码并解释其逻辑流程与时间复杂度。**

除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog

上一篇: c#题例-2025-09-02 05:19:51

下一篇: c#题例-2025-09-01 17:00:15

精华推荐