public void GetLargestSize_Empty_0() { var heads = new int[0]; var tails = new int[0]; var size = new MaxNonOverlappingSegments().GetLargestSize(heads, tails); size.Should().Be(0); }
public void GetLargestSize_One_1() { var heads = new[] { 1 }; var tails = new[] { 5 }; var size = new MaxNonOverlappingSegments().GetLargestSize(heads, tails); size.Should().Be(1); }
public void GetLargestSize_Sample1_3() { var heads = new[] { 1, 3, 7, 9, 9 }; var tails = new[] { 5, 6, 8, 9, 10 }; var size = new MaxNonOverlappingSegments().GetLargestSize(heads, tails); size.Should().Be(3); }
public void GetLargestSize_NoOverlapping_All() { var limit = 30_000; var heads = Enumerable.Range(1, limit).Where(n => n % 2 == 1).ToArray(); var tails = Enumerable.Range(1, limit).Where(n => n % 2 == 0).ToArray(); var size = new MaxNonOverlappingSegments().GetLargestSize(heads, tails); size.Should().Be(limit / 2); }