获取数组最大连续增长子数组

来源:互联网 发布:科比数据 编辑:程序博客网 时间:2024/06/05 20:28
function getMaxSubArr($arrData) {        if (empty($arrData)) {                return array();        }        $arrRet = array();        $intPrev = $arrData[0];        $arrRes[] = $arrData[0];        $intPrevLen = 0;        $intCurLen = 1;        if (count($arrData) == 1) {                $arrRet[1][] = $arrData;                return $arrRet;        }        foreach ($arrData as $key=>$val) {                if ($val <= $intPrev) {                        if ($intCurLen > $intPrevLen) {                                $arrRet[$intCurLen][] = $arrRes;                                unset($arrRet[$intPrevLen]);                                $intPrevLen = $intCurLen;                        } elseif ($intCurLen == $intPrevLen) {                                $arrRet[$intPrevLen][] = $arrRes;                        }                        $arrRes = array();                        $arrRes[$key] = $val;                        $intCurLen = 1;                } else {                        $arrRes[$key] = $val;                        $intCurLen++;                }                $intPrev = $val;        }        if ($intCurLen > $intPrevLen) {                $arrRet[$intCurLen][] = $arrRes;                unset($arrRet[$intPrevLen]);        } elseif ($intCurLen == $intPrevLen) {                $arrRet[$intPrevLen][] = $arrRes;        }        return $arrRet;}

原创粉丝点击