কম্পিউটার

পাইথনে প্রদত্ত 3টি শীর্ষবিন্দু সহ একটি আয়তক্ষেত্রের চতুর্থ শীর্ষের স্থানাঙ্কগুলি খুঁজুন


ধরুন আমাদের কাছে Q *P আকারের একটি গ্রিড আছে, এই গ্রিডে ঠিক তিনটি তারকাচিহ্ন রয়েছে '*' এবং অন্য প্রতিটি ঘরে ডট '.' রয়েছে, যেখানে '*' একটি আয়তক্ষেত্রের শীর্ষবিন্দুর জন্য। আমাদের অনুপস্থিত শীর্ষবিন্দুর স্থানাঙ্কগুলি খুঁজে বের করতে হবে। এখানে আমরা 1-ভিত্তিক ইন্ডেক্সিং বিবেচনা করব।

সুতরাং, যদি ইনপুট হয় গ্রিড =[ ".*.", "...", "*.*" ], তাহলে আউটপুট হবে [1, 3], এটি অনুপস্থিত স্থানাঙ্ক।

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

  • p :=সারির সংখ্যা

  • q :=কলামের সংখ্যা

  • সারি :=সমস্ত সারি নম্বরের জন্য একটি মানচিত্র তৈরি করুন এবং সংশ্লিষ্ট মান হল 0

  • col :=সমস্ত কলাম নম্বরের জন্য একটি মানচিত্র তৈরি করুন এবং সংশ্লিষ্ট মান হল 0

  • 0 থেকে p রেঞ্জের জন্য, করুন

    • 0 থেকে q রেঞ্জে j এর জন্য, করুন

      • যদি গ্রিড[i, j] '*' এর মত হয়, তাহলে

        • সারি[i] :=সারি[i] + 1

        • col[j] :=col[j] + 1

    • সারিতে প্রতিটি k,v এর জন্য করুন

      • যদি v 1 এর মত হয়, তাহলে

        • x_coord :=k;

    • প্রতিটি k,v col, do

      এর জন্য
      • যদি v 1 এর মত হয়, তাহলে

        • y_coord :=k;

  • ফেরত (x_coord + 1, y_coord + 1)

উদাহরণ

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

def get_missing_vertex(grid) :
   p = len(grid)
   q = len(grid[0])
   row = dict.fromkeys(range(p), 0)
   col = dict.fromkeys(range(q), 0)
   for i in range(p) :
      for j in range(q) :
         if (grid[i][j] == '*') :
            row[i] += 1
            col[j] += 1
   for k,v in row.items() :
      if (v == 1) :
         x_coord = k;
   for k,v in col.items() :
      if (v == 1) :
         y_coord = k;
   return (x_coord + 1, y_coord + 1)
grid = [".*.", "...", "*.*"]
print(get_missing_vertex(grid))

ইনপুট

[".*.", "...", "*.*"]

আউটপুট

(1, 3)

  1. পাইথনে একটি প্রদত্ত স্ট্রিং-এ k অনন্য অক্ষর সহ দীর্ঘতম সাবস্ট্রিং খুঁজুন

  2. পাইথনে অনুমোদিত কলামের অদলবদল সহ 1 এর বৃহত্তম আয়তক্ষেত্র খুঁজুন

  3. পাইথনে প্রদত্ত অ্যারেতে সমস্ত ভাল সূচক খুঁজুন

  4. পাইথনে প্রদত্ত নেস্টেড তালিকায় সর্বাধিক মান সহ সাবলিস্ট খুঁজুন