मान लीजिए कि हमारे पास एक सूची संख्या है, और दो अतिरिक्त मान k और लक्ष्य हैं, हमें उन उप-सूचियों की संख्या ज्ञात करनी है जिनका आकार k है और इसका औसत मान ≥ लक्ष्य है।
इसलिए, यदि इनपुट अंकों की तरह है =[1, 10, 5, 6, 7] k =3 लक्ष्य =6, तो आउटपुट 2 होगा, क्योंकि सबलिस्ट [1, 10, 7] का औसत मूल्य 6 है और [10, 5, 6] का औसत 7 है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे:
- लक्ष्य :=लक्ष्य * k
- योग :=0, उत्तर :=0
- संख्याओं में प्रत्येक सूचकांक i और संख्या n के लिए, करें
- अगर मैं>=k, तो
- योग :=योग - अंक[i - k]
- योग :=योग + n
- अगर मैं>=(के -1) , तो
- यदि योग>=लक्ष्य, तो
- उत्तर:=उत्तर + 1
- यदि योग>=लक्ष्य, तो
- अगर मैं>=k, तो
- वापसी उत्तर
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें:
उदाहरण कोड
class Solution: def solve(self, nums, k, target): target *= k sum = 0 ans = 0 for i, n in enumerate(nums): if i >= k: sum -= nums[i - k] sum += n if i >= (k - 1): if sum >= target: ans += 1 return ans ob = Solution() nums = [1, 10, 5, 6, 7] k = 3 target = 6 print(ob.solve(nums, k, target))
इनपुट
[1, 10, 5, 6, 7], 3, 6
आउटपुट
2