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

পাইথনে কলাম-ওয়াইজ এবং রো-ওয়াইজ সর্টেড ম্যাট্রিক্সে নেগেটিভ সংখ্যা গণনা


এই বিভাগে আমরা একটি পাইথন প্রোগ্রাম দেখব যা রো-ওয়াইজ এবং কলাম-ওয়াইজ সর্টেড ম্যাট্রিক্সে নেগেটিভ সংখ্যা গণনা করে অপ্টিমাল সমাধান দিয়ে।

রো-ওয়াইজ এবং কলাম-ওয়াইজ সর্টেড অ্যারে মানে, যেকোনো ইনডেক্সের মান পরবর্তী কলামের ইনডেক্সের মানের চেয়ে ছোট বা সমান এবং পরবর্তী রোয়ের একই কলামের ইনডেক্সের মানের চেয়ে ছোট বা সমান।

উদাহরণ: নিচের ম্যাট্রিক্স M-এ

M = [[-40, -12, 1, 5],
     [-20, -2, 5, 15],
     [-22, -1, 13, 18],
     [-12, 0, 15, 38]]

উপরের ম্যাট্রিক্স M-এ, প্রথম রোয়ের প্রথম কলাম -40, যা একই রোয়ের পরবর্তী কলামের মান -12-এর চেয়ে ছোট এবং একই কলামের পরবর্তী রোয়ের মান -20-এর চেয়েও ছোট এবং এইভাবেই।

উদাহরণ ২

# The matrix must be sorted in ascending order. If not, the algorithm will not work properly
matrix = [
    [-40, -12, 1, 5],
    [-20, -2, 5, 15],
    [-22, -1, 13, 18],
    [-12, 0, 15, 38]]
# To obtain the number of row
rowCount = len(matrix)
columnCount = 0
# To obtain the number of column
for i in matrix[0]:
    columnCount += 1
a = 0
b = 0
count_Of_Negative_Integer = 0
while a < rowCount and b < columnCount:
    if matrix[a][b] >= 0:
        a += 1
        b = 0
    else:
        count_Of_Negative_Integer += 1
    b += 1
print("Count of Negative Integers in sorted Matrix is: ", count_Of_Negative_Integer)

ফলাফল

Count of Negative Integers in sorted Matrix is: 7

উপরের প্রোগ্রামে,

  • >=0: প্রথমে আমরা ০ থেকে ছোট নেগেটিভ ইন্টিজারের গণনা খুঁজে বের করার চেষ্টা করি।
  • কারণ উপরের প্রোগ্রামে, আমরা নেগেটিভ ইন্টিজারের গণনা পেতে চাইছি, তবে একই প্রোগ্রামটি যেকোনো নির্দিষ্ট ইন্টিজার (n) থেকে ছোট ইন্টিজারের গণনা পেতে ব্যবহার করা যায়। উদাহরণস্বরূপ ৫ থেকে ছোট বা সমান ইন্টিজারের গণনা পেতে >5 ব্যবহার করে।

  1. পাইথনে বিল্ট-ইন ফাংশন ছাড়া আপারকেস এবং লোয়ারকেস ক্যারেক্টার গণনা

  2. পাইথন এবং Scrapy দিয়ে ওয়েব স্ক্রেপিং

  3. পাইথনে কিথ (Keith) সংখ্যা খুঁজে বের করার প্রোগ্রাম

  4. Python-এ ম্যাট্রিক্স ট্রান্সপোজ করার পদ্ধতি