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

使用C#完成HackerRank的Mini Max Sum挑战遇编译错误求助

HackerRank Mini Max Sum挑战C#代码错误分析与修复

错误原因逐一解析

  • CS1503类型转换错误
    你调用了Array.Sort(arr),但传入的arr是List<int>类型而非数组。Array.Sort()仅支持数组类型,List集合需要调用自身的Sort()方法。

  • CS1061属性不存在错误
    代码中用arr.Length获取元素数量,但List<int>没有Length属性,List集合的元素数量需要通过Count属性获取。

  • CS8602空引用警告
    编译器检测到arr可能为null,直接访问arr.Count或索引元素存在空引用风险。可以添加空值检查消除警告,若确认输入不会为空,也可使用!抑制警告(更推荐前者)。

修正后的代码

带输入有效性检查的版本

// 检查输入是否符合题目要求(Mini Max Sum需输入5个整数)
if (arr == null || arr.Count != 5)
{
    Console.WriteLine("Invalid input");
    return;
}

// 对List进行排序
arr.Sort();

// 计算所有元素总和,将int转为long避免溢出
long totalSum = arr.Sum(x => (long)x);

// 最小和:总和减去最大元素
long minSum = totalSum - arr[arr.Count - 1];

// 最大和:总和减去最小元素
long maxSum = totalSum - arr[0];

// 输出结果
Console.WriteLine($"{minSum} {maxSum}");

简化版本(确认输入合法时使用)

arr.Sort();
long totalSum = arr.Sum(x => (long)x);
long minSum = totalSum - arr[arr.Count - 1];
long maxSum = totalSum - arr[0];
Console.WriteLine($"{minSum} {maxSum}");

内容的提问来源于stack exchange,提问作者samwel apeli

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 09:52:11