ในส่วนนี้ เราจะเห็นโปรแกรมหลามที่นับจำนวนลบในเมทริกซ์เรียงแถวและตามคอลัมน์พร้อมคำตอบที่เหมาะสมที่สุด
อาร์เรย์เรียงแถวและแถวเรียงตามคอลัมน์หมายความว่าแต่ละค่าที่ดัชนีใด ๆ มีค่าน้อยหรือเท่ากับค่าที่ดัชนีในคอลัมน์ถัดไปและแถวถัดไป
ตัวอย่างในเมทริกซ์ด้านล่าง 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