Problemi həm massivdən istifadə edərək, həm də massivsiz həll etmək olar. Minimal dəyər dəyişənində saxlanılacaq. Başlanğıcda ona "sonsuzluq" (məsələn, giriş məlumatlar arasında maksimal mümkün dəyərə bərabər və ya ondan böyük olan bir ədəd - belə bir ədəd 10^5 ola bilər) və ya sadəcə ilk daxil edilən dəyər mənimsədilə bilər.
Sonra isə bütün giriş məlumatları ardıcıl olaraq işlənir. Əgər indiki ədəd dəyişəninin indiki qiymətindən kiçikdirsə, onu yeniləyirik, yəni yeni bir qiymət vermək.
Misal
Giriş ardıcıllığının emal prosesində dəyişəninin qiymətinin necə dəyişdiyini görə bilərik.
Alqoritmin təkmilləşdirilməsi
Verilən ədədlərin sayını oxuyuruq.
scanf("%d",&n);Dəyişən -ə böyük bir ədəd təyin edilir - burada axtarılan minimum saxlanılacaqdır.
min = 100000;Sonra, ardıcıl olaraq ədəd işlənilir.
for(i = 0; i < n; i++)
{Növbəti dəyərini oxuyuruq.
scanf("%d",&val);Əgər bu dəyər dəyişəninin indiki qiymətindən kiçikdirsə, minimumu yeniləyirik.
if (val < min) min = val;
}Axtarılan minimumu çap edirik.
printf("%d\n",min);Alqoritmin təkmilləşdirilməsi — minimumun təyini
Verilən ədədlərin sayını oxuyuruq.
scanf("%d",&n);Birinci ədədi oxuyub, dəyişən -ə mənimsədirik - burada indiki minimal qiymət saxlanır.
scanf("%d",&min);Sonra qalan n - 1 ədədləri oxuyuruq.
for(i = 1; i < n; i++)
{Növbəti dəyərini oxuyuruq.
scanf("%d",&val);Əgər bu dəyər dəyişəninin indiki qiymətindən kiçikdirsə, minimumu yeniləyirik.
if (val < min) min = val;
}Axtarılan minimumu çap edirik.
printf("%d\n",min);Alqoritmin təkmilləşdirilməsi – STL
Giriş məlumatlarını oxuyuruq.
scanf("%d", &n);
v.resize(n);
for (i = 0; i < n; i++)
scanf("%d", &v[i]);Ən kiçik elementi tapır və çap edirik.
res = *min_element(v.begin(), v.end());
printf("%d\n", res);Java təkmilləşdirilməsi — minimumu səyahət zamanı hesablama
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner con = new Scanner(System.in);
int n = con.nextInt();
int min = Integer.MAX_VALUE;
for(int i = 0; i < n; i++)
{
int val = con.nextInt();
if (val < min) min = val;
}
System.out.println(min);
con.close();
}
}Java təkmilləşdirilməsi — massivdən istifadə
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner con = new Scanner(System.in);
int n = con.nextInt();
int m[] = new int[n];
// Məlumatları oxuyuruq
for(int i = 0; i < m.length; i++)
m[i] = con.nextInt();
// Massivdə minimumu tapırıq
int min = Integer.MAX_VALUE;
for(int i = 0; i < m.length; i++)
if (m[i] < min) min = m[i];
// Minimumu çap edirik
System.out.println(min);
con.close();
}
}Python təkmilləşdirilməsi siyahı elementlərinin indeksləri ilə
import sysGiriş məlumatlarını oxuyuruq.
n = int(input())
m = list(map(int,input().split()))Dəyişən böyük bir ədəd ilə təyin edilir - burada axtarılan minimum saxlanılacaq.
min = sys.maxsizeSiyahı elementləri ardıcıl olaraq işlənilir. Ədədlərlə işləmə prosesində dəyişəni yenilənir, siyahıdakı ən kiçik elementi saxlayaraq.
for i in range(n):
if m[i] < min: min = m[i]Cavabı çap edirik.
print(min)Python təkmilləşdirilməsi
import sysGiriş məlumatlarını oxuyuruq.
n = int(input())
m = list(map(int,input().split()))Dəyişən böyük bir ədəd ilə təyin edilir - burada axtarılan minimum saxlanılacaq.
min = sys.maxsizeSiyahı elementləri ardıcıl olaraq işlənilir. Ədədlərlə işləmə prosesində dəyişəni yenilənir, siyahıdakı ən kiçik elementi saxlayaraq.
for v in m:
if v < min: min = vCavabı çap edirik.
print(min)Python təkmilləşdirilməsi — min funksiyası
Giriş məlumatlarını oxuyuruq.
n = int(input())
m = list(map(int,input().split()))min funksiyası siyahıda minimal elementi qaytarır. Cavabı çap edirik.
print(min(m))