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

पायथन में थ्रेशोल्ड प्रतिशत तक पहुंचने के लिए आवश्यक 5-स्टार समीक्षाओं की संख्या की गणना करने का कार्यक्रम

मान लीजिए कि हमारे पास समीक्षाओं और थ्रेशोल्ड मान t नामक एक सूची है। समीक्षाओं में प्रत्येक आइटम [i] में [x, y] का अर्थ है उत्पाद मेरे पास 5-स्टार रेटिंग की x संख्या और समीक्षाओं की y संख्या थी। हमें कम से कम अतिरिक्त 5-स्टार समीक्षाओं की आवश्यकता है, ताकि उन आइटम सूची के लिए 5-स्टार समीक्षाओं का प्रतिशत कम से कम t प्रतिशत हो।

इसलिए, यदि इनपुट समीक्षाओं की तरह है =[[3, 4], [1, 2], [4, 6]] थ्रेशोल्ड =78, तो आउटपुट 7 होगा, क्योंकि कुल मिलाकर 8 5-स्टार समीक्षाएँ थीं और 12 समीक्षाएँ। 78% 5-स्टार समीक्षाओं तक पहुंचने के लिए, हमें 7 और 5-स्टार समीक्षाओं की आवश्यकता है।

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

  • ए:=0, बी:=0

  • समीक्षाओं में प्रत्येक 5-स्टार गणना c और समीक्षा गणना d के लिए, करें

    • ए:=ए + सी

    • बी:=बी + डी

  • अगर a * 100>=t * b, तो

    • वापसी 0

  • डेल्टा:=टी * बी - 100 * ए

  • (डेल्टा +(99 - टी))/(100 - टी)

    . की वापसी मंजिल

उदाहरण

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

def solve(reviews, t):
   a = 0
   b = 0
   for c, d in reviews:
      a += c
      b += d
   if a * 100 >= t * b:
      return 0
   delta = t * b - 100 * a
   return (delta + (99 - t)) // (100 - t)

reviews = [
   [3, 4],
   [1, 2],
   [4, 6]
]
t = 78
print(solve(reviews, t))

इनपुट

[[3, 4], [1, 2],[4, 6] ],78

आउटपुट

7

  1. पायथन में संभावित विनम्र मैट्रिक्स की संख्या गिनने का कार्यक्रम

    मान लीजिए हमारे पास दो मान n और m हैं। हमें क्रम n x m के विनम्र आव्यूहों की संभावित व्यवस्थाओं की संख्या ज्ञात करनी है। मैट्रिक्स को विनम्र कहा जाता है जब इसमें प्रत्येक तत्व 1 से n x ​​m की श्रेणी में बिल्कुल एक बार होता है किन्हीं दो सूचकांक जोड़े (i1, j1) और (i2, j2) के लिए, यदि (i1 + j1) <(i2

  1. पायथन में एस में अलग-अलग सबस्ट्रिंग की संख्या गिनने का कार्यक्रम

    मान लीजिए कि हमारे पास एक स्ट्रिंग s है, हमें s के अलग-अलग गैर-रिक्त सबस्ट्रिंग की संख्या ज्ञात करनी है। इसलिए, यदि इनपुट s =abaa जैसा है, तो आउटपुट 8 होगा, क्योंकि सबस्ट्रिंग [a, b, ab, ba, aa, aba, बा, आबा]। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - कोशिश करें:=एक नया नक्शा n :=आकार का

  1. पायथन में n नोड्स के साथ BST की संख्या गिनने का कार्यक्रम

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