Optimāla algoritma izvēle JavaScript
Dažreiz koda problēma var būt saistīta ar to, ka ir izvēlēts nevis optimālākais problēmas risinājums.
Pieņemsim, ka mums ir uzdevums
atrast veselu skaitļu summu no 1 līdz 1000000.
Atrisināsim uzdevumu:
let sum = 0;
for (let i = 1; i <= 1000000; i++) {
sum += i;
}
console.log(sum);
Kas tad ir nepareizi? Lieta tāda, ka šīs problēmas risināšanai pastāv matemātisks risinājums.
Šis risinājums praktiski neprasa resursus! Ieprogrammēsim to:
let n = 1000000;
let sum = n * (n + 1) / 2;
console.log(sum);
Moral: pirms resursietilpīga uzdevuma risināšanas noteikti pārbaudiet, vai tam nav gatavas matemātiskas formulas vai gatavas matemātiskas pieejas.
Atrodiet skaitļu daudzumu, kas dalās bez atlikuma
ar 5, no intervāla no 1 līdz
1000.
Atrodiet ciparu daudzumu, kas būs nepieciešams,
lai pierakstītu visus skaitļus no 1 līdz 1000000.