ধরুন আমাদের কাছে পর্যালোচনা নামক একটি তালিকা এবং একটি প্রান্তিক মান টি আছে। রিভিউতে প্রতিটি আইটেম[i] আছে [x, y] মানে আমার কাছে 5-স্টার রেটিং-এর x নম্বর এবং y সংখ্যক রিভিউ আছে। আমাদের প্রয়োজনীয় ন্যূনতম সংখ্যক অতিরিক্ত 5-স্টার রিভিউ খুঁজে বের করতে হবে যাতে সেই আইটেম তালিকার জন্য 5-তারকা পর্যালোচনার শতাংশ কমপক্ষে t শতাংশ হয়।
সুতরাং, যদি ইনপুটটি রিভিউ =[[3, 4],[1, 2],[4, 6]] থ্রেশহোল্ড =78 এর মত হয়, তাহলে আউটপুট হবে 7, যেমন মোট 8টি 5-স্টার রিভিউ ছিল এবং 12টি পর্যালোচনা। 78% 5-স্টার রিভিউ পেতে, আমাদের আরও 7টি 5-স্টার রিভিউ দরকার।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
a :=0, b :=0
-
প্রতিটি 5-তারকা গণনা c এবং পর্যালোচনা গণনা d এর জন্য, করুন
-
a :=a + c
-
b :=b + d
-
-
যদি a * 100>=t * b হয়, তাহলে
-
রিটার্ন 0
-
-
ডেল্টা :=t * b - 100 * a
-
(ডেল্টা +(99 - t))/(100 - t)
এর রিটার্ন ফ্লোর
উদাহরণ
আসুন আরও ভালভাবে বোঝার জন্য নিম্নলিখিত বাস্তবায়ন দেখি
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