原题出处:牛客网
虽然实际是选择题,但我觉得归类为编程题会更符合My feel。
给定一个m行n列的整数矩阵(如图),每行从左到右和每列从上到下都是有序的。判断一个整数k是否在矩阵中出现的最优算法,在最坏情况下的时间复杂度是O(m+n)。
由于行列都是有序的,因此可以通过判断行列的极值降低时间复杂度。
杨氏矩阵查找算法:
using System;
/* Yang Matrix Search */
public class Program
{
static bool YangMatrixSearch(int[,] arr, int k, ref int x, ref