Lựa chọn thuật toán tối ưu trong JavaScript
Đôi khi vấn đề của code lại liên quan đến việc đã chọn một giải pháp không tối ưu cho bài toán.
Giả sử, trước mắt chúng ta có một nhiệm vụ
tìm tổng các số nguyên từ 1 đến 1000000.
Hãy giải quyết bài toán đặt ra:
let sum = 0;
for (let i = 1; i <= 1000000; i++) {
sum += i;
}
console.log(sum);
Vậy điều gì không ổn? Vấn đề là đối với bài toán đặt ra, đã tồn tại một lời giải toán học.
Lời giải này hầu như không yêu cầu tài nguyên! Hãy lập trình nó:
let n = 1000000;
let sum = n * (n + 1) / 2;
console.log(sum);
Bài học: trước khi giải một bài toán tốn nhiều tài nguyên, hãy chắc chắn kiểm tra xem liệu có tồn tại một công thức toán học có sẵn hoặc một phương pháp toán học có sẵn để giải quyết nó hay không.
Tìm số lượng các số chia hết cho 5, trong khoảng từ 1 đến
1000.
Tìm số lượng chữ số cần thiết để viết tất cả các số từ 1 đến 1000000.