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

