Hướng dẫn jump game leetcode python solution - nhảy trò chơi leetcode giải pháp python
Hôm nay, chúng ta có một thử thách lập trình Python khác được lấy từ LeetCode - vấn đề trò chơi nhảy LeetCode. Show Chúng tôi sẽ thảo luận về một cách tiếp cận được đề xuất cho vấn đề LeetCode này, sau đó là một giải pháp Python được giải thích đầy đủ. Ready? Mục lục
Vấn đề trò chơi nhảy leetcodeví dụ 1 Ví dụ 2 ví dụ 1Ví dụ 2 Cách tiếp cận được đề xuất cho vấn đề trò chơi nhảy LeetCode Giải pháp trò chơi nhảy LeetCode được đề xuất trong Python Lặp lại hàm bằng cách sử dụng hàm ral () Bên trong vòng lặp Ví dụ 2Cách tiếp cận được đề xuất cho vấn đề trò chơi nhảy LeetCode Giải pháp trò chơi nhảy LeetCode được đề xuất trong Python Cách tiếp cận được đề xuất cho vấn đề trò chơi nhảy LeetCodeGiải pháp trò chơi nhảy LeetCode được đề xuất trong Python Lặp lại hàm bằng cách sử dụng hàm ral () Bên trong vòng lặp ví dụ 1Ví dụ 2 Cách tiếp cận được đề xuất cho vấn đề trò chơi nhảy LeetCode Giải pháp trò chơi nhảy LeetCode được đề xuất trong Python Lặp lại hàm bằng cách sử dụng hàm ral () Bên trong vòng lặp Sau khi vòng lặp Hãy bắt đầu với vấn đề đầu tiên. Vấn đề này đòi hỏi chúng ta phải viết một hàm chấp nhận danh sách các số nguyên không âm. Mỗi phần tử trong danh sách thể hiện độ dài nhảy tối đa của bạn ở vị trí đó. Ví dụ 2Cách tiếp cận được đề xuất cho vấn đề trò chơi nhảy LeetCode Giải pháp trò chơi nhảy LeetCode được đề xuất trong Python Lặp lại hàm bằng cách sử dụng hàm ral () Bên trong vòng lặp Sau khi vòng lặp Cách tiếp cận được đề xuất cho vấn đề trò chơi nhảy LeetCodeGiải pháp trò chơi nhảy LeetCode được đề xuất trong Python def canJump(nums): if len(nums) == 1: return True minStepsRequired = 0 previousGood = len(nums)-1 # work backwards and see if can reach final cell for i in range(len(nums)-2, -1, -1): minStepsRequired = previousGood - i if nums[i] >= minStepsRequired: previousGood = i return previousGood == 0 Lặp lại hàm bằng cách sử dụng hàm ral () Bên trong vòng lặp Sau khi vòng lặp Hãy bắt đầu với vấn đề đầu tiên. Vấn đề này đòi hỏi chúng ta phải viết một hàm chấp nhận danh sách các số nguyên không âm. Mỗi phần tử trong danh sách thể hiện độ dài nhảy tối đa của bạn ở vị trí đó.
Chúng tôi khởi tạo Lặp lại hàm bằng cách sử dụng hàm ral ()Từ các dòng 9 đến 12, chúng tôi có vòng lặp Hãy nhớ lại rằng hàm
Trong giải pháp được đề xuất của chúng tôi, Điều này có nghĩa là chúng tôi muốn hàm Điều này dẫn đến vòng lặp Bên trong vòng lặpBên trong vòng Giả sử Lần đầu tiên vòng lặp
Điều này có nghĩa là tại INDEX 3, chúng ta chỉ cần nhảy một bước để đạt được vị trí gần đây nhất được coi là tốt. Trên dòng 11, chúng tôi kiểm tra xem có thể nhảy một bước từ chỉ mục 3. Vì Do đó, chúng tôi cập nhật giá trị của Ở mỗi bước khi chúng tôi lặp lại đến Chẳng hạn, khi Chúng ta cần kiểm tra xem có thể nhảy từ chỉ mục 2 sang chỉ mục 3. Nếu có thể đến INDEX 3 từ INDEX 2, chúng ta biết rằng có thể đạt được phần tử cuối cùng trong Vì chúng ta chỉ cần nhảy một bước từ chỉ mục 2 sang chỉ số 3 (theo tính toán theo công thức trên dòng 10) và Do đó, INDEX 2 được coi là một vị trí tốt và chúng tôi cập nhật giá trị của Chúng tôi tiếp tục làm điều đó cho đến khi chúng tôi hoàn thành việc lặp lại tất cả các yếu tố trong Sau khi vòng lặpSau khi lặp qua tất cả các yếu tố trong Nếu đó là trường hợp, chúng tôi sẽ trở lại Chúng tôi làm điều đó bằng cách trả về kết quả của điều kiện Với điều đó, chức năng đã hoàn thành. Jump LeetCode Solution có thể không?Đầu vào: nums = [2,3,1,1,4] Đầu ra: Giải thích đúng: Nhảy 1 bước từ chỉ mục 0 đến 1, sau đó 3 bước đến chỉ mục cuối cùng.Ví dụ 2: Đầu vào: Nums = [3,2,1,0,4] Đầu ra: Giải thích sai: Bạn sẽ luôn đến INDEX 3 bất kể điều gì.Độ dài nhảy tối đa của nó là 0, điều này khiến nó không thể đạt đến chỉ số cuối cùng.Jump 1 step from index 0 to 1, then 3 steps to the last index. Example 2: Input: nums = [3,2,1,0,4] Output: false Explanation: You will always arrive at index 3 no matter what. Its maximum jump length is 0, which makes it impossible to reach the last index.
Vấn đề trò chơi nhảy là gì?Trò chơi nhảy.Bạn được cung cấp một num mảng số nguyên.Ban đầu bạn được định vị ở chỉ mục đầu tiên của mảng và mỗi phần tử trong mảng biểu thị độ dài nhảy tối đa của bạn ở vị trí đó.Trả về true nếu bạn có thể đạt được chỉ số cuối cùng, hoặc sai nếu không.Return true if you can reach the last index, or false otherwise. |