此功能是O(n)还是O(logn)? for循环仅通过数组的一半迭代,但每次检查两端
这只是一个数组,它遍历数组,检查numS [i]是否大于nums [i -1]和nums [i+1]
for (int i = 1; i < nums.size() / 2; ++i) {
if (nums[i] > nums[i - 1] && nums[i] > nums[i + 1]) {
return i;
}
if (nums[nums.size() - i - 1] > nums[nums.size() - i] &&
nums[nums.size() - i - 1] > nums[nums.size() - i - 2]) {
return nums.size() - i - 1;
}
}
this is just an array and it traverses the array checking if the nums[i] is greater than both nums[i - 1] and nums[i+1]
for (int i = 1; i < nums.size() / 2; ++i) {
if (nums[i] > nums[i - 1] && nums[i] > nums[i + 1]) {
return i;
}
if (nums[nums.size() - i - 1] > nums[nums.size() - i] &&
nums[nums.size() - i - 1] > nums[nums.size() - i - 2]) {
return nums.size() - i - 1;
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论