मान लीजिए कि हमारे पास संख्याओं की एक सूची है और एक पूर्णांक k है, तो हमें अधिकतम संभव i खोजना होगा जहां nums[0] + nums[1] + ... + nums[i] k. यदि कोई मान्य i मौजूद नहीं है तो हम -1 लौटा देंगे।
इसलिए, यदि इनपुट संख्या =[4, -7, 5, 2, 6], k =5 की तरह है, तो आउटपुट 3 होगा, सूचकांक 3 है जैसे कि हम 4+(-7)+5+2 जोड़ते हैं =4, यह k से कम है, यदि हम अंतिम तत्व जोड़ते हैं तो यह k से कम नहीं रहेगा, इसलिए सूचकांक 3 है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- i के लिए 1 से लेकर अंकों के आकार -1 तक के लिए
- nums[i] :=nums[i] + nums[i-1]
- मैं के लिए संख्या -1 से -1 के श्रेणी आकार में, 1 से घटाएं
- यदि अंक[i]<=k, तो
- वापसी मैं
- यदि अंक[i]<=k, तो
- वापसी -1
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
class Solution: def solve(self, nums, k): for i in range(1,len(nums)): nums[i]+=nums[i-1] for i in range(len(nums)-1,-1,-1): if nums[i]<=k: return i return -1 ob = Solution() nums = [4, -7, 5, 2, 6] k = 5 print(ob.solve(nums, k))
इनपुट
[4, -7, 5, 2, 6], 5
आउटपुट
3