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

C++-এ ২D ম্যাট্রিক্সে সার্চ (সর্টেড রো ও কলাম)


একটি m x n ম্যাট্রিক্সে একটি ভ্যালু সার্চ করতে হবে। ম্যাট্রিক্সের বৈশিষ্ট্য: প্রতিটি রো লেফট থেকে রাইটে সর্টেড, এবং প্রতিটি রোয়ের প্রথম নম্বর আগের রোয়ের শেষ নম্বর থেকে বড়।

উদাহরণ ম্যাট্রিক্স:

1357
10111620
23303450
53627898
টার্গেট 16 হলে আউটপুট True।

সমাধান: ডাবল বাইনারি সার্চ। প্রথমে রো বের করব (low=0, high=n-1)। তারপর সেই রোতে কলামে বাইনারি সার্চ।

উদাহরণ

#include <bits/stdc++.h>
using namespace std;

typedef long long int lli;

class Solution {
public:
    bool searchMatrix(vector<vector<int>>& matrix, int target) {
        lli n,m;
        n = matrix.size();
        if(!n)return false;
        m = matrix[0].size();
        if(!m)return false;
        lli low = 0, high = n-1;
        while(low

ইনপুট

[[1,3,5,7],[10,11,16,20],[23,30,34,50],[53,62,78,98]] 16

আউটপুট

1

  1. C++-এ ম্যাট্রিক্সের রো-ওয়াইজ ও কলাম-ওয়াইজ ট্রাভার্সাল

  2. C++-এ বাইনারি সার্চ ট্রি রিকভারি (Recover Binary Search Tree)

  3. বাইনারি সার্চ C++ প্রোগ্রামে

  4. C++-এ বুলিয়ান ম্যাট্রিক্স সমস্যা (Boolean Matrix Question)