Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var result =
- (from start in Enumerable.Range(1, 15)
- let fizzBuzzSeq =
- (from i in Enumerable.Range(start, int.MaxValue - start)
- let fizzBuzz =
- i % 15 == 0 ? new { fizzbuzz = "fizzbuzz", index = i }
- : i % 3 == 0 ? new { fizzbuzz = "fizz", index = i }
- : i % 5 == 0 ? new { fizzbuzz = "buzz", index = i }
- : null
- where fizzBuzz != null
- select fizzBuzz).Take(inputList.Length)
- where fizzBuzzSeq.Select(f => f.fizzbuzz).SequenceEqual(inputList)
- select new {
- StartRange = fizzBuzzSeq.Select(f => f.index).First(),
- EndRange = fizzBuzzSeq.Select(f => f.index).Last()
- }).Aggregate((a, b) => (a.EndRange - a.StartRange) < (b.EndRange - b.StartRange) ? a : b);
Advertisement
Add Comment
Please, Sign In to add comment