मान लीजिए कि हमारे पास पूर्णांकों की एक सरणी है, जहां सभी तत्व धनात्मक हैं। प्रारंभिक प्रारंभिक बिंदु सूचकांक 1 पर है। सरणी में प्रत्येक तत्व उस स्थिति में हमारी अधिकतम छलांग लंबाई का प्रतिनिधित्व करता है। हमारा लक्ष्य कम संख्या में छलांग के साथ अंतिम सेल तक पहुंचना है। तो अगर सरणी [2,3,1,1,4] की तरह है, और फिर आउटपुट 2 होगा, क्योंकि हम 0 से इंडेक्स 1 पर जा सकते हैं, फिर इंडेक्स 4 पर जा सकते हैं, यह आखिरी इंडेक्स है।पी>
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
अंत:=0, कूदता है:=0, सबसे दूर:=0
-
मेरे लिए 0 से लेकर अंकों की लंबाई तक - 1
-
सबसे दूर:=सबसे दूर और अंकों की अधिकतम [i] + i
-
अगर मैं अंत है, और मैं संख्या -1 की लंबाई नहीं है, तो
-
1 द्वारा छलांग बढ़ाएं
-
अंत :=सबसे दूर
-
-
-
वापसी कूदता है
उदाहरण
आइए एक बेहतर समझ प्राप्त करने के लिए निम्नलिखित कार्यान्वयन देखें -
class Solution(object): def jump(self, nums): end = 0 jumps = 0 farthest = 0 for i in range(len(nums)): farthest = max(farthest,nums[i]+i) if i == end and i != len(nums)-1: jumps+=1 end = farthest return jumps ob = Solution() print(ob.jump([2,3,1,1,4]))
इनपुट
[2,3,1,1,4]
आउटपुट
2