You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C# 如何求List<List<int>>集合各相同索引位置的最大整数值

实现方案

最优性能实现代码

public List<int> FindMaxValueByIndex(List<List<int>> items)
{
    // 入参合法性校验
    if (items == null || items.Count == 0)
        return new List<int>();
    int subLength = items[0].Count;
    // 预分配结果容量,避免动态扩容开销
    List<int> maxResults = new List<int>(subLength);
    // 初始化所有位置为int最小值,避免全负值场景下结果错误
    for (int i = 0; i < subLength; i++)
    {
        maxResults.Add(int.MinValue);
    }
    // 提前缓存长度值,减少循环内属性访问开销
    int listCount = items.Count;
    for (int i = 0; i < listCount; i++)
    {
        List<int> currentList = items[i];
        for (int j = 0; j < subLength; j++)
        {
            int currentValue = currentList[j];
            if (currentValue > maxResults[j])
            {
                maxResults[j] = currentValue;
            }
        }
    }
    return maxResults;
}

性能说明

  • 时间复杂度为O(m*n)(m为子列表数量、n为单个子列表长度),达到理论最优下限,所有元素仅被遍历一次
  • 提前预分配结果列表容量,避免List动态扩容过程中的内存拷贝开销
  • 直接使用索引访问集合元素,无LINQ迭代器、集合转置等额外中间开销
  • 空间复杂度为O(n),仅占用存储结果所需的内存空间,无额外中间内存占用

内容的提问来源于stack exchange,提问作者Kiran B

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 05:06:02