题解 | #寻找峰值#C++

螺旋矩阵

http://www.nowcoder.com/practice/7edf70f2d29c4b599693dc3aaeea1d31

这个题我没啥思路,就是遍历吧,转着圈圈遍历,非常需要注意的是内部循环的条件,把二维数组所有元素计算出来——total,确保每一个都遍历,定义四个位置变量row(当前遍历了几行),rowend(还剩rowend+1行要遍历),col(当前遍历了几列),colend(还剩colend+1列要遍历);先从上面一行从左往右遍历,每循环一次total--,循环结束然后把row++;再从最右列从上往下遍历,最下面那行从右往左,最左边那列从下往上。

class Solution {
public:
    /**
     * 寻找最后的山峰
     * @param a int整型一维数组 
     * @param aLen int a数组长度
     * @return int整型
     */
    int solve(int* a, int aLen) 
    {
        // write code here
        int index = 0;
        for(int i = 1;i<aLen;++i)
        {
            if(a[i]>=a[i-1] && a[i]>=a[i+1])
                index = i;
            if(i == aLen-1 && a[i]>a[i-1])
                index = i;
        }
        return index;
    }
};
全部评论

相关推荐

喜欢走神的孤勇者练习时长两年半:池是池,发是发,我曾池,我现黑
点赞 评论 收藏
分享
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务