在本节中,我们将看到一个python程序,该程序以最佳解决方案对按行和按列排序的矩阵中的负数进行计数。
按行和按列排序的数组意味着,任何索引处的每个值都小于或等于下一列和下一行中的索引处的值。
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:首先,我们尝试查找小于0的负整数的计数。
因为在上面的程序中,我们试图获取负整数,但是,可以使用同一程序来查找小于任何特定整数(n)的整数计数。例如,使用> 5查找小于或等于5的整数计数。