ในส่วนนี้ เราจะเห็นโปรแกรมหลามที่นับจำนวนลบในเมทริกซ์เรียงแถวและตามคอลัมน์พร้อมคำตอบที่เหมาะสมที่สุด
อาร์เรย์เรียงแถวและแถวเรียงตามคอลัมน์หมายความว่าแต่ละค่าที่ดัชนีใด ๆ มีค่าน้อยหรือเท่ากับค่าที่ดัชนีในคอลัมน์ถัดไปและแถวถัดไป
ตัวอย่างในเมทริกซ์ด้านล่าง M
M = [[-40, -12, 1, 5], [-20, -2, 5, 15], [-22, -1, 13, 18], [-12, 0, 15, 38]]
ในเมทริกซ์ M ด้านบน คอลัมน์แรกของแถวแรกคือ -40 ซึ่งน้อยกว่าค่าที่ค่าคอลัมน์ถัดไปในแถวเดียวกัน เช่น -12 และยังน้อยกว่าค่าในแถวถัดไปในคอลัมน์เดียวกัน เช่น -20 เป็นต้น บน.
ตัวอย่างที่ 2
# 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:อันดับแรก เราพยายามหาการนับจำนวนเต็มลบ น้อยกว่า 0
-
เนื่องจากในโปรแกรมข้างต้น เรากำลังพยายามหาจำนวนเต็มลบ อย่างไรก็ตาม โปรแกรมเดียวกันสามารถใช้เพื่อค้นหาจำนวนเต็มที่น้อยกว่าจำนวนเต็มเฉพาะใดๆ (n) เช่น การหาจำนวนเต็มที่น้อยกว่าหรือเท่ากับ 5 โดยใช้>5