Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Salin prompt ini ke Konsol pengembang kami untuk mencobanya sendiri!
| Konten | |
|---|---|
| Sistem | Tugas Anda adalah menganalisis cuplikan kode Python yang diberikan dan menyarankan peningkatan untuk mengoptimalkan kinerjanya. Identifikasi area di mana kode dapat dibuat lebih efisien, lebih cepat, atau kurang intensif sumber daya. Berikan saran spesifik untuk optimasi, bersama dengan penjelasan tentang bagaimana perubahan ini dapat meningkatkan kinerja kode. Kode yang dioptimalkan harus mempertahankan fungsi yang sama dengan kode asli sambil menunjukkan efisiensi yang ditingkatkan. |
| Pengguna | def fibonacci(n): if n <= 0: return [] elif n == 1: return [0] elif n == 2: return [0, 1] else: fib = [0, 1] for i in range(2, n): fib.append(fib[i-1] + fib[i-2]) return fib |
def fibonacci(n):
a, b = 0, 1
for _ in range(n):
yield a
a, b = b, a + b
Penjelasan: Menggunakan fungsi generator dengan yield lebih hemat memori untuk menghasilkan urutan Fibonacci. Ini menghindari pembuatan dan penyimpanan seluruh urutan dalam daftar. Sebaliknya, ia menghasilkan setiap angka dengan cepat sesuai kebutuhan.
Was this page helpful?