题意:一个r行、c列二维数组,每一点有一高度值,求最长的连续严格单调序列长度。
分析:把所有点按从小到大排序,然后依次处理。如果当前点高度小于四周点高度,则最长序列长度为1.否则为四周点中高度小于此点的最大值加1。这是因为高度小的点先被处理。四周点只是上、下、左、右四点,不包括斜着的邻近点。另外为了方便逻辑处理,可以在二维数组加一圈外围。
C源码:
运行时间、内存:
数据来自PKU judge,同样的代码Time一次为0MS,一次为16MS,可见随系统状态有关
题意:一个r行、c列二维数组,每一点有一高度值,求最长的连续严格单调序列长度。
分析:把所有点按从小到大排序,然后依次处理。如果当前点高度小于四周点高度,则最长序列长度为1.否则为四周点中高度小于此点的最大值加1。这是因为高度小的点先被处理。四周点只是上、下、左、右四点,不包括斜着的邻近点。另外为了方便逻辑处理,可以在二维数组加一圈外围。
C源码:
运行时间、内存:
数据来自PKU judge,同样的代码Time一次为0MS,一次为16MS,可见随系统状态有关