我正在尝试解决这个问题,就像为求职面试做准备一样:编写一个函数,给定一个列表和一个目标总和,返回任何两个不同元素的从零开始的索引,其总和等于目标总和.如果没有这样的元素,则该函数应返回null.
例如,FindTwoSum(new List(){1,3,5,7,9},12)应该返回以下任何索引元组:
1,4(3 + 9 = 12)
2,3(5 + 7 = 12)
3,2(7 + 5 = 12)
4,1(9 + 3 = 12)
这是我到目前为止所做的
public static Tuple<int, int> FindTwoSum(List<int> list, int sum)
{
List<Tuple<int, int>> ListOfInt = new List<Tuple<int, int>>();
for (int i=0; i<list.Count; i++)
{
for(int j=0; j<list.Count; j++)
{
if (list[i] + list[j] == sum)
{
ListOfInt.Add(new Tuple<int, int>(i,j));
}
}
}
foreach ( var elemt in ListOfInt)
{
return elemt;
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
问题是找到所有结果并保存在元组中:但我仍然无法将结果打印到控制台.我认为这foreach句话有些不对劲.在我编写的主要方法中,将结果打印到控制台: …
以下代码的输出与第二个代码的输出不同有人可以解释问题吗?
代码 1:
for(int i = 1; i <= intInput; i++)
{
for(int j = 1; j<=i; j++)
{
Console.Write('+');
Console.WriteLine();
}
}
if intInput is 4 Ouput is:
+
+
+
+
Run Code Online (Sandbox Code Playgroud)
代码 2:
for(int i = 1; i <= intInput; i++)
{
for(int j = 1; j<=i; j++)
Console.Write('+');
Console.WriteLine();
}
if intInput is 4 Ouput is:
+
++
+++
++++
Run Code Online (Sandbox Code Playgroud)
我知道这行代码是如何工作的,但我不明白这两个代码的括号有什么区别?