Вывести количество чисел во втором списке, которые содержатся в первом (как уменьшить время работы программы) - C#
Формулировка задачи:
подскажите пожалуйста как уменьшить время работы программы примерно на 0.5 секунд
int n1 = int.Parse(Console.ReadLine());
int[] a = new int[n1];
for (int i = 0; i < n1; i++)
{
a[i] = int.Parse(Console.ReadLine());
}
int n2 = int.Parse(Console.ReadLine());
int[] b = new int[n2];
for (int j = 0; j < n2; j++)
{
b[j] = int.Parse(Console.ReadLine());
}
Array.Sort(a);
int k=0;
for (int j = 0; j < b.Length; j++)
{
for (int i = 0; i < a.Length; i++)
{
if (b[j] == a[i])
{
k++;
break;
}
}
}
Console.WriteLine(k);Решение задачи: «Вывести количество чисел во втором списке, которые содержатся в первом (как уменьшить время работы программы)»
textual
Листинг программы
using System;
using System.Linq;
namespace ConsoleApplication28
{
public class Program
{
private static void Main()
{
int[] a = {1, 2, 3, 4, 5, 6, 7};
int[] b = {9, 8, 7, 6, 5, 4, 3};
int count = a.Intersect(b).Count();
Console.WriteLine("Число общих элементов массивов a и b равно {0}", count);
Console.ReadKey();
}
}
}