Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन में आहार योजना का प्रदर्शन


मान लीजिए कि कोई डाइटर कैलोरी का सेवन करता है[i], यह पहले दिन की कैलोरी को दर्शाता है। यदि हमारे पास k दिनों के लगातार अनुक्रम के लिए एक पूर्णांक k है (कैलोरी[i], कैलोरी[i+1], ..., कैलोरी[i+k-1] सभी के लिए 0 <=i <=n-k ), वे टी पाते हैं। टी k दिनों के उस क्रम के दौरान खपत की गई कुल कैलोरी है (कैलोरी [i] + कैलोरी [i + 1] + ... + कैलोरी [i + k-1]):लेकिन कुछ हैं शर्तें;

  • यदि टी <निचली सीमा है, तो उन्होंने अपने आहार पर खराब प्रदर्शन किया है इसलिए 1 अंक खो दें;
  • यदि T> ऊपरी सीमा है, तो उन्होंने अपने आहार पर अच्छा प्रदर्शन किया इसलिए 1 अंक प्राप्त करें;
  • अन्यथा, उन्होंने सामान्य रूप से प्रदर्शन किया। तो अंक समान हैं।

सबसे पहले, डाइटर के शून्य अंक होते हैं। हमें डाइटर द्वारा प्राप्त किए गए अंकों की कुल संख्या ज्ञात करनी है।

यदि सरणी [6,5,0,0] और k =2 और निचला:=1 और ऊपरी:=5 है, तो आउटपुट 0 होगा। C[0] + C[1 ]> ऊपरी, इसलिए एक बिंदु बढ़ाएँ, निचला <=C[1] + C[2] <=ऊपरी तो कोई परिवर्तन नहीं, उसके बाद C[2] + C[3] <निचला, इसलिए एक बिंदु घटाएं, इसलिए आउटपुट 0 होगा।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • अस्थायी:=0
  • मैं के लिए 0 से k की सीमा में
    • अस्थायी:=अस्थायी + सी[के]
  • दाएं:=के-1, और बाएं:=0, और अंक:=0
  • दाएं <सी की लंबाई, करते हैं
    • यदि तापमान <कम है, तो अंक 1 से घटाएं, यदि अस्थायी> ऊपरी, तो अंक 1 से बढ़ाएं
    • अस्थायी:=अस्थायी - सी[बाएं]
    • बाएं और दाएं 1 से बढ़ाएं
    • यदि दाएँ>=C की लंबाई, तो लूप से बाहर आएँ
    • अस्थायी:=अस्थायी + सी[दाएं]
  • वापसी के बिंदु

उदाहरण

बेहतर समझ प्राप्त करने के लिए आइए निम्नलिखित कार्यान्वयन को देखें -

class Solution(object):
   def dietPlanPerformance(self, c, k, l, u):
      temp = 0
      for i in range(k):
         temp += c[i]
      right = k-1
      left = 0
      points = 0
      while right < len(c):
         if temp<l:
            points-=1
         elif temp>u:
            points+=1
         temp -=c[left]
         left+=1
         right+=1
         if(right >= len(c)):
            break
         temp+=c[right]
      return points
ob1 = Solution()
print(ob1.dietPlanPerformance([6,5,0,0],2,1,5))

इनपुट

[6,5,0,0]
2
1
5

आउटपुट

0

  1. पायथन में पास्कल के त्रिभुज की nवीं पंक्ति खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास एक संख्या n है, हमें पास्कल त्रिभुज की nवीं (0-अनुक्रमित) पंक्ति ज्ञात करनी है। जैसा कि हम जानते हैं कि पास्कल का त्रिभुज इस प्रकार बनाया जा सकता है - शीर्ष पंक्ति में, 1 की एक सरणी है। उपरोक्त संख्या को ऊपर और बाईं ओर ऊपर और दाईं ओर जोड़कर अगली पंक्ति बनाई जाती है। तो कुछ

  1. पायथन में बाइनरी ट्री की अधिकतम गहराई

    मान लीजिए कि हमारे पास एक बाइनरी ट्री है। हमें उस वृक्ष की अधिकतम गहराई ज्ञात करनी है। एक पेड़ की अधिकतम गहराई नोड्स की अधिकतम संख्या है जो सबसे लंबे पथ का उपयोग करके जड़ से पत्ती तक पहुंचने के लिए ट्रैवर्स की जाती है। मान लीजिए पेड़ नीचे जैसा है। गहराई यहां 3 होगी। इसे हल करने के लिए, हम इन चरणो

  1. पायथन रेगुलर एक्सप्रेशन के प्रदर्शन का अनुकूलन कैसे करें?

    रेगुलर एक्सप्रेशन वर्ड प्रोसेसिंग में पैटर्न को छानने के हमारे काम को आसान बनाते हैं। नियमित अभिव्यक्तियों के बारे में एक अच्छी बात यह है कि उन्हें तेजी से परिणामों के लिए संकलित और पुन:उपयोग किया जा सकता है। चूंकि रेगुलर एक्सप्रेशन फ़ंक्शन कॉल में नहीं बदलते हैं, हम इसे एक बार संकलित कर सकते हैं और