c - 堆缓冲区溢出错误,Leetcode 问题 941,Valid Mountain Array,使用 C
问题描述
我目前正在学习 c 并尝试在 leetcode 上做一些问题以提高自己。问题:https
://leetcode.com/problems/valid-mountain-array/
我收到这样的错误,错误消息显然是读取错误。
但是,每当我在我的电脑上运行我的代码时,即使使用 valgrind,我也不会收到任何错误。这是我的代码:
bool validMountainArray(int* arr, int arrSize)
{
bool is_m_array = false;
bool peek = false;
int peek_point = 0;
int end_of_slope = 0;
int k = 0;
if( arrSize >= 3)
{
while (arr[k] < arr[k+1] && arr[k] < arrSize)
{
k++;
}
peek = true;
peek_point = k;
}
if (peek == true)
{
while(arr[peek_point] > arr[peek_point+1] && arr[peek_point] < arrSize)
{
peek_point++;
end_of_slope = peek_point+1;
printf("end Of SLOPE %d, arrSize %d \n", end_of_slope, arrSize);
}
}
if (peek == true && end_of_slope == arrSize)
{
is_m_array = true;
}
return is_m_array;
}
我尝试了几种不同的输入,它们似乎都工作得很好!
例如:
int main(int argc, char const *argv[])
{ int arr[9]= {1,2,3,4,5,4,3,2,1};
if (validMountainArray(arr, 9) == true)
{
printf("True");
}
else
{
printf("False");
}
return 0;
}
将返回 True。
有人知道我在这里缺少什么吗?
解决方案
推荐阅读
- git - BFG(历史编辑)之后所有提交都重复
- powerapps - PowerApps:使用辅助按钮修补到第二个 SharePoint 列表
- excel - 隐藏用户窗体并显示指定的工作表
- amazon-web-services - 如何判断 AWS Lambda 函数是否达到内存或持续时间限制?
- excel - Excel 计算日期、一行日期、一些重复项,用于图表
- r - R代码:如何在字符串匹配后过滤X个元素?
- ios - 虚幻引擎代码签名错误:找不到签名证书“iOS 开发”
- kubernetes - 来自 pod 信息的 configMap 条目
- wordpress - Woocommerce 以编程方式创建订单不起作用
- java - 使用不同 Avro 类型向 Kafka 发送消息的性能——SpecificRecordBase vs. GenericRecord with Schema Registry