牛客网题目:给定一个 n x n 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第k小的元素。 请注意,它是排序后的第k小元素,而不是第k个元素
题目给定一个 n x n 矩阵其中每行和每列元素均按升序排序找到矩阵中第k小的元素。 请注意它是排序后的第k小元素而不是第k个元素以下属于自己调试总结若有不同乐意听从借鉴int main() { // 由于数组的定义时的下表不能为变量所以牛客网中若要求必须要求输入下表时可用scanf输入 //也可直接在定义数组时赋予初始常量值系统会自动进行替换鉴别 //但其它地方要用到下表值可在定义变量并给初始化值也可手动直接给值例如这道题 int n5,i,j,k,temp; scanf(%d,k); //scanf(%d,n);//这句可省略 int M[5*5];//矩阵当成一维数组 常量5牛客网再调试时会自己进行替换 for(i0;in*n;i) { scanf(%d,M[i]); } for(i1;in*n-1;i) { for(ji;jn*n-1;j) { if(M[j]M[i]) { tempM[j]; M[j]M[i]; M[i]temp; } } } printf(%d, M[k - 1]); }