题解 | #寻找峰值#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; } };