Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.56/25: Рейтинг темы: голосов - 25, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 02.02.2017
Сообщений: 10

LINQ и ЕГЭ

03.05.2017, 19:47. Показов 5338. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Решил одну задачу и дабы не городить кучу условий использовал LINQ, и тут встал вопрос, пройдет ли данный алгоритм все условия задачи(эффективность по памяти и времени)? Тянет ли моё решение на все 4 балла?

Описание задачи и условия к ней

В телевизионном танцевальном марафоне с определением победителя с помощью телезрителей после каждого тура объявляется sms-голосование, в котором зрители указывают наиболее понравившуюся им пару из максимум 16 пар, которые участвуют в проекте. Вам предлагается написать программу, которая будет обрабатывать результаты sms-голосования по данному вопросу. Результаты голосования получены в виде номеров пар (каждый элемент списка соответствует одному sms-сообщению).

Имеется набор данных, состоящий из целых чисел. Набор может быть очень большим.
Напишите программу для решения этой задачи.
Постарайтесь сделать программу эффективной по времени и используемой памяти (или хотя бы по одной из этих характеристик).
Программа считается эффективной по времени, если время работы программы пропорционально количеству пар чисел N, т. е. при увеличении N в k раз время работы программы должно увеличиваться не более чем в k раз.
Программа считается эффективной по памяти, если размер памяти, использованной в программе для хранения данных, не зависит от числа N и не превышает 1 килобайта.
Максимальная оценка за правильную программу, эффективную по времени и памяти, — 4 балла.
Максимальная оценка за правильную программу, эффективную по времени, но неэффективную по памяти, — 3 балла.

Следует учитывать, что количество голосов в списке может быть очень велико. Перед текстом программы кратко опишите используемый Вами алгоритм решения задачи. На вход программе в первой строке подаётся количество пришедших sms-сообщений N. В каждой из последующих N строк записан номер пары от 1 до 16.Пример входных данных:

4
2
16
3
2

Программа должна вывести список всех пар, встречающихся в списке, в порядке убывания (невозрастания) количества голосов, отданных за ту или иную пару, с указанием количества отданных за неё голосов. При этом каждая пара должна быть выведена ровно один раз вне зависимости от того, сколько раз она встречается в списке. Пример выходных данных для приведённого выше примера входных данных:

2 2
3 1
16 1

Решение
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
using System;
using System.Linq;
using System.Collections.Generic;
 
public class Program
{
    public static void Main(String[] args)
    {
        List<Int16> Virables = new List<Int16>();
 
        for (Int32 i = Int32.Parse(Console.ReadLine()); i > 0; i--)
            Virables.Add(Int16.Parse(Console.ReadLine()));
 
        foreach (var Line in from g in Virables
                             group g by g into ng
                             orderby ng.Key
                             select new
                             {
                                 Count = ng.Count(),
                                 Key = ng.Key
                             })
            Console.WriteLine("{0} {1}", Line.Key, Line.Count);
    }
}


Благодарю за ответ!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.05.2017, 19:47
Ответы с готовыми решениями:

Linq или не Linq. Linq медленней стандартных методов?
Есть у нас два массива, нужно найти совпадения в первом из второго. Два варианта реализации, первый костылем, второй с linq, но скорость...

Арифметический корень (книга Мальцев Математика ЕГЭ минимум Подготовка к ЕГЭ 2016)
Помогите, может у кого есть решибник к книге Мальцев Математика ЕГЭ минимум Подготовка к ЕГЭ 2016. Если кому то не жалко времени, решите....

Почему LINQ to Entity содержит не все методы LINQ to Objects?
Почему не все методы linq to entity содержат все методы?Чем например Linq to object

22
0 / 0 / 0
Регистрация: 02.02.2017
Сообщений: 10
04.05.2017, 19:38  [ТС]
Студворк — интернет-сервис помощи студентам
Aael, видимо в подобных задачах будет разумно использовать Dictionary, чем List и прочие коллекции. Или я не так понял?
0
964 / 485 / 241
Регистрация: 02.06.2016
Сообщений: 760
04.05.2017, 19:52
S3VDIT0, да, т.к. на каждой итерации прийдется искать символ в списке, общее время работы будет:
O(число_символов * скорость_поиска) > O(число_символов)
У массива и хэш таблицы (внути словаря она и есть) скорость_поиска = 1

Добавлено через 3 минуты
*Поиск по массиву конечно же больше чем O(1), но в нашем случае мы сразу знаем номер нужно элемента - это код символа или его алфавитный нормер, ничего искать не нужно.
0
0 / 0 / 0
Регистрация: 02.02.2017
Сообщений: 10
04.05.2017, 20:09  [ТС]
Aael, теперь я понял, что мне следует почитать чуть больше о коллекциях и о способах оптимизации запросов(и LINQ вообщем), ибо мои решения(с использованием LINQ и коллекций) "немного" затратны по ресурсам...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.05.2017, 20:09

Литература по EntityFramework, WCF, Linq to Objects, и Linq to SQL
Посоветуйте пожалуйста книги или статьи для освоения следующих вещей: EntityFramework, WCF, Linq to Objects, и Linq to SQL Google...

LINQ to Interbase/Firebird и вообще LINQ to...
Возникла вот надобность работы с СУБД Interbase. Очень хочется пользоваться удобными средствами LINQ. В Сети нашелся ADO.NET provider for...

Не удаётся неявно преобразовать тип System.Linq.IQueryable<<anonymous type>> в System.Linq.IQueryable<Character>
Здравствуйте. Решили добавить навигацию на страницу и где-то допустили ошибку. Помогите пожалуйста разобраться. Запрос public...

Ускорение Linq to SQL (Compiled Linq, Entity SQL, и т.д.)
Здравствуйте! У меня задание стоит ускорить прогу. В проге во многих местах по куче Linq запросов. Я решил их как-нибудь ускорить. Запросы...

ЕГЭ
Ищу людей для помощи на егэ по информатики на 30 мая Помощь по сотовому ( микронаушники ) нужно от 80 баллов! в лс цену , контакты для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru