Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace linq_slideviews
- {
- public class StatisticsTask
- {
- public static double GetMedianTimePerSlide(List<VisitRecord> visits, SlideType slideType)
- {
- return visits.OrderBy(visit => visit.DateTime)
- .GroupBy(visit => visit.UserId)
- .SelectMany(visit => visit.Bigrams())
- .Where(visit => visit.Item1.SlideType == slideType)
- .Select(visit => visit.Item1.DateTime - visit.Item2.DateTime)
- .Where(time => time >= TimeSpan.FromMinutes(1) && time <= TimeSpan.FromMinutes(120))
- .Select(time => time.TotalMinutes)
- .DefaultIfEmpty(0)
- .Median();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement