Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.50/34: Рейтинг темы: голосов - 34, средняя оценка - 4.50
 Аватар для cybercitizen
204 / 26 / 5
Регистрация: 22.05.2015
Сообщений: 357

Найти два элемента в массиве, разница между которыми максимальна (оптимизация алгоритма)

24.05.2015, 01:52. Показов 6848. Ответов 40
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть правильное решение задачи. Не проходит последние тесты по времени. Задачу я уже сдал, но вопрос остался открытым. Сигнатура функции задана условием, тело нужно реализовать.

Надо найти два элемента в массиве, разница между которыми максимальна.
Ограничения:
Числа вычитаются только "справа-налево", т.е. из числа с индексом 5 мы можем вычитать только числа с индексами 0..4
Вернуть либо -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
25
26
27
28
29
30
31
32
33
34
35
#include <iostream>
#include <vector>
#include <climits>
 
int max_diff (std::vector<int> a) {
  // Enter your code here
  
  if(a.size() < 2){
    return -1;
  }
  
  int _max_index = 0;
  int _min_index = 0;
  int _max_diff = INT_MIN;
  
  for(int i = 1; i < a.size(); ++i){
    
    for(int j = 0; j < i; ++j){
      long long n = (long long)a[i] - (long long)a[j];
      
      if(n < INT_MIN){
        continue;
      }
      
      if(n > _max_diff){
        _max_diff = (int) n;
        _max_index = i;
        _min_index = j;
      }
    }
  }
  return _max_index == 0 && _min_index == 0
    ? -1
    : a[_max_index] - a[_min_index];
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.05.2015, 01:52
Ответы с готовыми решениями:

Найти в массиве два соседних элемента, сумма которых максимальна
Дан массив размера N. Найти два соседних элемента, сумма которых максимальна, и вывести их.

Найти в массиве два элемента, разница которых наименьшая
Есть такая задачка Найти в массиве два элемента, разница которых наименьшая. Все никак не получается, так еще и с каждым разом начинаю...

Найти среди пар элементов массива те, разность между которыми максимальна
Составить программу, которая отыскивает среди пар элементов одномерного массива М те, разность между элементами которых есть величина...

40
 Аватар для cybercitizen
204 / 26 / 5
Регистрация: 22.05.2015
Сообщений: 357
28.05.2015, 22:46  [ТС]
Студворк — интернет-сервис помощи студентам
Я прошу администрацию почистить тему от флуда. А для "особенных" людей добавить в первый пост еще одно очевидное ограничение: "Предусмотреть переполнение".
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.05.2015, 22:46

Найдите в линейном массиве два элемента, сумма которых максимальна
найдите в линейном массиве два элемента, сумма которых максимальна

Найти простые числа-близнецы разница между которыми равна двум
Дано натуральное n. Выяснить имеются ли среди чисел n, n+1,…2n близнецы, т.е. простые числа, разность между которыми равна двум....

В одномерном массиве найти два максимальных элемента и удалить все элементы между ними
Дана задача : В одномерном массиве найти два максимальных элемента и удалить все элементы между ними. Массив задается случайным образом. ...

В одномерном массиве найти два максимальных элемента и удалить все элементы между ними
Есть задача: В одномерном массиве найти два максимальных элемента и удалить все элементы между ними. Массив у меня задается случайным...

Найти количество пар соседних элементов последовательности, разница между которыми равно заданному числу
Данная последовательность из n вещественных чисел.Найти количество пар соседних элементов, разница между которыми равно заданному числу.


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

Или воспользуйтесь поиском по форуму:
41
Ответ Создать тему
Новые блоги и статьи
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата) Этот документ предназначен для того, чтобы новый чат Claude мог продолжить работу без необходимости заново разбираться в. . .
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса Калибровка параметров симбиотической модели: технический обзор Содержание: Введение Постановка проблемы Технические аспекты реализации Процесс внедрения изменений
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0» https:/ / ibb. co/ NnkGpfMd Представленная интегрированная схема описывает непрерывную нелинейную. . .
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы ### Аннотация Представлено исследование по разработке агентной модели микоризной. . .
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики Контекст Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии Введение Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np class PlantAgent: def __init__(self, name, strategy, initial_biomass): self. name = name self. strategy = strategy # "greedy" (широколиственные) или. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru