কম্পিউটার

পাইথনে গড় অপেক্ষার সময় খোঁজার প্রোগ্রাম


ধরুন আমাদের একটি অ্যারে কাস্টমার আছে, যেখানে কাস্টমার[i] =একটি পেয়ার আছে [arrival_i, time_i], এখানে arrival_i হল ith গ্রাহকের আগমনের সময়। এবং আগমনের সময় কম থেকে উচ্চ বাছাই করা হয়. এবং time_i হল ith গ্রাহকের অর্ডার প্রস্তুত করার জন্য প্রয়োজনীয় সময়। এখন, যখন একজন গ্রাহক আসে, তখন সে অর্ডার দেয় এবং শুধুমাত্র সেই অর্ডারটি প্রস্তুত করা শুরু করে যখন রান্নাটি অলস থাকে। রাঁধুনি একবারে একাধিক গ্রাহকের জন্য খাবার তৈরি করে না। এবং তিনি তাদের আদেশ স্থাপিত ছিল ক্রমে প্রস্তুত. আমাদের সমস্ত গ্রাহকদের গড় অপেক্ষার সময় খুঁজে বের করতে হবে৷

সুতরাং, যদি ইনপুটটি গ্রাহকদের মত হয় =[[7,2],[8,4],[10,3],[20,1]], তাহলে আউটপুট হবে 3.5 কারণ,

  • প্রথম গ্রাহক 7-এ এসেছিল, রাঁধুনি অর্ডার নেয় এবং 7-এ অবিলম্বে প্রস্তুত করা শুরু করে এবং 9-এ শেষ হয়, তাই প্রথম গ্রাহকের জন্য অপেক্ষার সময় হল 9 - 7 =2৷

  • দ্বিতীয় গ্রাহক 8 টায় এসেছিল, শেফ তার অর্ডার নেয় এবং 9 টায় এটি প্রস্তুত করা শুরু করে এবং 13 টায় শেষ করে, তাই দ্বিতীয় গ্রাহকের অপেক্ষার সময় হল 13 - 8 =5৷

  • তৃতীয় গ্রাহক 10 এ এসেছিল, শেফ তার অর্ডার নেয় এবং 13 টায় এটি প্রস্তুত করা শুরু করে এবং 16 টায় শেষ করে, তাই তৃতীয় গ্রাহকের জন্য অপেক্ষার সময় হল 16 - 10 =6৷

  • চতুর্থ গ্রাহক 20-এ এসেছিল, শেফ তার অর্ডার নেয় এবং 20-এ অবিলম্বে প্রস্তুত করা শুরু করে এবং 21-এ শেষ হয়, তাই চতুর্থ গ্রাহকের অপেক্ষার সময় হল 21 - 20 =1৷

  • সুতরাং গড় অপেক্ষার সময় =(2 + 5 + 6 + 1) / 4 =3.5।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • arr :=একটি নতুন তালিকা
  • সময় :=0
  • গ্রাহকদের প্রতিটি জোড়ার (i, j) জন্য, করুন
    • যদি আমি> সময়, তারপর
      • সময় :=i + j
    • অন্যথায়,
      • সময় :=সময় + j
  • আরের শেষে সন্নিবেশ (টাইম-i) করুন
  • রিটার্ন (এআরআর-এ সমস্ত আইটেমের গড়)

উদাহরণ

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

def solve(customers):
   arr = []

   time = 0

   for i , j in customers:
      if(i > time):
         time = i + j
      else:
         time += j
      arr.append(time - i)

   return sum(arr) / len(arr)

customers = [[7,2],[8,4],[10,3],[20,1]]
print(solve(customers))

ইনপুট

[[7,2],[8,4],[10,3],[20,1]]

আউটপুট

3

  1. পাইথনে বহুভুজের এলাকা খুঁজে বের করার জন্য প্রোগ্রাম

  2. পাইথনে বহুভুজের পরিধি খুঁজে বের করার প্রোগ্রাম

  3. পাইথন প্রোগ্রামে প্রাইম নম্বর খোঁজার জন্য বিভিন্ন পদ্ধতির বিশ্লেষণ

  4. পাইথনের একটি তালিকার গড় খুঁজুন?