কম্পিউটার টিউটোরিয়াল

পাইথনে সর্টেড ম্যাট্রিক্সে টার্গেট ভ্যালু খুঁজে বের করার প্রোগ্রাম


মান লক্ষ্য করুন আমাদের কাছে একটি ২ডি ম্যাট্রিক্স আছে, যেখানে প্রতিটি সারি এবং কলাম নন-ডিক্রিজিং অর্ডারে সর্টেড। আমাদের কাজ হল দেওয়া target মাত্ৰিক্সে আছে কিনা তা চেক করা।

উদাহরণস্বরূপ, যদি ইনপুট হয়:

2430
3431
6632

এবং target = 31, তবে আউটপুট হবে True।

সমাধানের ধাপসমূহ:
  • col := matrix[0]-র দৈর্ঘ্য - ১
  • i কে ০ থেকে len(matrix) পর্যন্ত লুপ চালান:
    • matrix[i][col] > target এবং col >= 0 হলে লুপ চালান:
      • col := col - 1
    • যদি matrix[i][col] == target হয়, তবে True রিটার্ন করুন।
  • False রিটার্ন করুন।
উদাহরণ কোড
class Solution:
    def solve(self, matrix, target):
        col = len(matrix[0]) - 1
        for i in range(len(matrix)):
            while matrix[i][col] > target and col >= 0:
                col = col - 1
            if matrix[i][col] == target:
                return True
        return False

ob = Solution()
matrix = [
    [2, 4, 30],
    [3, 4, 31],
    [6, 6, 32]
]
target = 31
print(ob.solve(matrix, target))
ইনপুট
matrix = [ [2, 4, 30], [3, 4, 31], [6, 6, 32] ] target = 31
আউটপুট
True
  1. পাইথনে একটি পয়েন্ট পলিগনের ভিতরে বা বাউন্ডারিতে আছে কিনা চেক করার প্রোগ্রাম

  2. পাইথনে টপ্লিট্জ ম্যাট্রিক্স (Toeplitz Matrix) যাচাই করার প্রোগ্রাম

  3. পাইথন প্রোগ্রামে ম্যাট্রিক্সের ট্রান্সপোজ বের করা

  4. পাইথনে ম্যাট্রিক্সের ট্রান্সপোজ বের করা