Помогите реализовать алгоритм

  • Автор темы Автор темы Guest
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest

В институте задали написать очень простую программу:
"В заданной целочисленной матрице A (N,M) определить разность между минимум и максимум по модулю элементами".
Естественно что алгоритм несложный и выглядит он примерно так:
Код:
max=A[0][0]; 
min=A[0][0]; 
for (int i=0;i<=N;i++) 
{ 
for(int j=0;j<=M;j++) 
x1=A[i][j]; 
if(x1 >= max){max=x1;} 
if(x1 < min){min=x1;} 


} 
S=(abs(max)-abs(min));


У меня вопрос, существует ли более оптимальный алгоритм (без тупого перебора элементов).
И еще если кто нибудь знает, что такое временая сложность алгоритма и как ее находить, тоже сюда пишите.
 
Судя по всему этот простой метод в "лоб" является самым оптимальным.
Только у тебя неточность:
В заданной целочисленной матрице A (N,M) определить разность между минимум и максимум по модулю элементами
если взять массив
Код:
-2 1  5
3 -6  1
то минимумом и максимумом по модулю будут |-1| и |-6| и результат -5, а по твоему алгортму |-6| и |5| => 1
 
час алгарытма n*n, але лепей нязробіш, калі не перабярэш усі элементы, дык не даведаешся дакладна які болей а які меней.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab