Форум программистов, компьютерный форум, киберфорум
Lisp
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
 Аватар для _sg
4709 / 4404 / 380
Регистрация: 12.05.2012
Сообщений: 3,101

LeetCode Online Judge: Maximum Product Subarray

07.02.2015, 15:35. Показов 1410. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан числовой список. Найти непрерывную последовательность, произведение элементов которой яляется наибольшим.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.02.2015, 15:35
Ответы с готовыми решениями:

Clojure LeetCode Online Judge: Maximum Gap
Дан список положительных целых чисел. Найти максимальную разницу между последовательными элементами в отсортированном списке. Вернуть 0,...

Clojure LeetCode Online Judge: Largest Number
Дан список положительных целых чисел. Организовать их так, чтобы они образовали наибольшее число. Например, если дан список (3 30 34 5 9),...

Clojure LeetCode Online Judge: Find Peak Elements
Вернуть номера пиковых элементов числового списка (пиковым является элемент, который больше, чем соседние элементы).

2
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38173 / 21108 / 4307
Регистрация: 12.02.2012
Сообщений: 34,709
Записей в блоге: 14
07.02.2015, 16:11
Лучший ответ Сообщение было отмечено _sg как решение

Решение

Не очень уклюже:


Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
(defun max-seq-prod (lst)
  (let ((n (length lst))
        (aseq  nil)
        (mseq  nil)
        (cprod nil) 
        (mprod (car lst)))
   (iter (for i from 0 to (- n 2))
      (iter (for j from (+ i 1) to (- n 1))
        (setq aseq (subseq lst i j))
        (setq cprod (apply '* aseq))
        (when (> cprod mprod) (setq mseq aseq mprod cprod))))
   mseq))  
 
==> max-seq-prod
 
(max-seq-prod '(1 2 3 0 1 3 4 8 -4 -6 0 3 4))
 
==> (1 3 4 8 -4 -6)
0
 Аватар для _sg
4709 / 4404 / 380
Регистрация: 12.05.2012
Сообщений: 3,101
07.02.2015, 18:33  [ТС]
Лучший ответ Сообщение было отмечено Catstail как решение

Решение

Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
(defun accs (w &optional (acc (list (car w))))
  (if (cdr w)
      (cons (reverse acc)
            (accs (cdr w) (cons (cadr w) acc)))
      (list (reverse acc))))
 
(defun maximum-product-sequence (w
                                 &aux
                                 (v (loop for d on w
                                       nconc (accs d)))
                                 (z (mapcar
                                     #'(lambda (a)
                                         (list a
                                               (reduce #'* a)))
                                     v))
                                 (m (reduce #'max z :key #'cadr)))
  (mapcar #'car (remove-if-not #'(lambda (a) (eq (cadr a) m)) z)))
 
> (maximum-product-sequence '(1 2 3 0 1 3 4 8 -4 -6 0 3 4))
((1 3 4 8 -4 -6) (3 4 8 -4 -6))
> (maximum-product-sequence '(2 3 -2 4))
((2 3))
Добавлено через 2 часа 9 минут
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
(defun accs (w &optional (acc (list (car w))) &aux (d (cdr w)))
  (if d
      (cons (reverse acc)
            (accs d (cons (car d) acc)))
      (list (reverse acc))))
 
(defun maximum-product-sequence (w
                                 &aux
                                 (v (loop for d on w
                                       nconc (accs d)))
                                 (z (mapcar
                                     #'(lambda (a)
                                         `(,a ,(reduce #'* a)))
                                     v))
                                 (m (reduce #'max z :key #'cadr)))
  (mapcar #'car (remove-if-not #'(lambda (a) (eq (cadr a) m)) z)))
 
> (maximum-product-sequence '(1 2 3 0 1 3 4 8 -4 -6 0 3 4))
((1 3 4 8 -4 -6) (3 4 8 -4 -6))
> (maximum-product-sequence '(2 3 -2 4))
((2 3))
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.02.2015, 18:33
Помогаю со студенческими работами здесь

Clojure LeetCode Online Judge: Reverse Words in a String
Определить функцию, меняющую порядок слов в предложении на обратный.

Задача на Timus Online Judge
Вот решил порешать задачи для практики на Python на сайте Timus Online Judge дошел до вот этой задачи: ЗАДАЧА набросал код: n1 =...

Задача на Timus Online Judge, C++. Решена, но
Решил задачу, но выдает ошибку WA на 2 тесте. Не могу даже представить, в чем дело. Задача: 1100. Таблица результатов Ограничение...

Задача с Timus Online Judge (1025)
Начал решать простую задачу: http://acm.timus.ru/problem.aspx?space=1&num=1025, пишет Wrong answer. Вот мое решение: 1. Ввод данных...

На Timus Online Judge выдает wrong answer
На Timus Online Judge выдает wrong answer 10, перебрал уже кучу примеров и везде ответ сходится, на ++ сайт принял без проблем. В чем может...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru