我想解決testdome在線考試中的一個問題。在c中找到兩個sum函數#
問題是編寫一個函數,給定一個列表和一個目標總和,返回總和等於目標總和的任意兩個不同元素的從零開始的索引。如果沒有這樣的元素,該函數應該返回null。
這裏是我的代碼,它只是75%的真和25%的時間超過
using System;
using System.Linq;
using System.Collections.Generic;
class TwoSum
{
public static Tuple<int, int> FindTwoSum(IList<int> list, int sum)
{
var result = from n1 in list
from n2 in list
where n1 + n2 == sum
select new Tuple<int, int>(list.IndexOf(n1), list.IndexOf(n2));
return result.FirstOrDefault();
}
public static void Main(string[] args)
{
Tuple<int, int> indices = FindTwoSum(new List<int>() { 1, 3, 5, 7, 9 }, 12);
Console.WriteLine(indices.Item1 + " " + indices.Item2);
}
}
您可以複製粘貼我在在線網站的代碼,看看結果。 任何人都可以幫助我,所以我們得到100%的真實。 :d
https://www.testdome.com/Questions/Csharp/TwoSum/4318
如果元素應該是不同的,那麼也許你應該添加條件'N1 != n2' –