378.有序矩阵中第K小的元素
给定一个 n x n 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第k小的元素。 请注意,它是排序后的第k小元素,而不是第k个元素。 实例:
思路: 这个是二维数组,把二维数组转一维数组,然后排序找到最小的
代码
public int KthSmallest(int[,] matrix, int k)
{
//二维数组转一位数组
int row = matrix.GetLength(0);//行数
int col = matrix.GetLength(1);//列数
//把二维数组转一维数组
List<int> t = new List<int>(); //使用容器,容器自带排序
for (int i=0;i<row;i++) {
for (int j=0;j<col;j++) {
t.Add(matrix[i,j]);
}
}
t.Sort();//二维数组加入容器,对容器进行排序
//接下来是对容器进行遍历
for (int i=0;i<t.Count;i++) {
if (i+1==k) {
return t[i];
}
}
return 0;
}