请实现一个高效的函数 `FindKthLargest`,用于在**未排序的整数数组**中查找**第 k 大的元素**(从 1 开始计数,k ≥ 1),并分析其时间复杂度。要求不使用系统内置排序函数或堆结构(如 `Sort()`、`SortedSet`、`PriorityQueue` 等),仅通过手动实现算法逻辑完成。函数签名如下:```csharpint FindKthLargest(int[] nums, int k)```**附加要求:**- 如果数组中有重复元素,应**合并处理**,即重复元素视为同一大小。- 若 k 超过数组中**不同元素的数量**,则返回 `-1` 表示无效输入。**……
