Cabaran Mingguan, anjuran Mohammad S. Anwar, adalah pertandingan mesra di mana pembangun bersaing dengan menyelesaikan sepasang tugas. Ia menggalakkan penyertaan daripada pembangun semua bahasa dan peringkat melalui pembelajaran, perkongsian dan keseronokan.
Tugas 2: Langkah demi Langkah daripada The Weekly Challenge memerlukan pembangun mencari nilai permulaan yang menjadikan jumlah langkah demi langkah tidak pernah lebih kecil daripada satu.
Dalam siaran ini saya membincangkan, dan membentangkan penyelesaian bahasa Python saya kepada, Tugasan 2: Langkah demi Langkah, dan bungkus dengan kesimpulan ringkas.
Anda diberi tatasusunan integer, @ints.
Tulis skrip untuk mencari nilai permulaan positif minimum supaya jumlah langkah demi langkah tidak boleh kurang daripada satu.
Cabaran Mingguan 302, Tugasan 2: Langkah demi Langkah
Contoh 1 - 3 membentangkan output yang dijangkakan daripada input yang diberikan.
Input: @ints = (-3, 2, -3, 4, 2) Output: 5
Untuk nilai permulaan 5.
5 + (-3) = 2 2 + (+2) = 4 4 + (-3) = 1 1 + (+4) = 5 5 + (+2) = 7
Input: @ints = (1, 2) Output: 1
Input: @ints = (1, -2, -3) Output: 5
def return_min_start(ints: list[int]) -> int | None: for start_value in range(1, 1000000): step_sum = start_value + ints[0] if step_sum < 1: continue for index in range(1, len(ints)): step_sum += ints[index] if step_sum < 1: break if step_sum >= 1: return start_value return None
Penyelesaian saya menggunakan penyataan gelung dan if untuk mencari secara berperingkat nilai_mula yang sepadan dengan keperluan tugas:
Dalam siaran ini saya membincangkan Tugasan 2: Langkah demi Langkah dan saya membentangkan penyelesaian saya.
Ketahui lebih lanjut tentang cabaran terkini dan lepas di tapak web The Weekly Challenge:
https://theweeklychallenge.org/
Ketahui lebih lanjut tentang bersaing di Soalan Lazim Cabaran Mingguan:
https://theweeklychallenge.org/faq/
Atas ialah kandungan terperinci Menyelesaikan Tugasan Cabaran Mingguan Langkah demi Langkah dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!