运行时错误:基0x000000000000溢出到0xffffffffffffffff的指针索引表达式 (basic_st
runtime error: pointer index expression with base 0x000000000000 overflowed to 0xffffffffffffffff (basic_string.h)
问题是在字符串数组中找到最大的公共前缀字符串。
示例 1:
输入: ["花","流","飞行"]
输出:"fl">
这是我迄今为止尝试过的。
class Solution {
public:
string longestCommonPrefix(const vector<string>& v) {
if ( v.empty() )
{
return 0;
}
string smin = *min_element(v.begin(), v.end(),
[] (const std::string& s1, const std::string& s2) {
return s1.length() < s2.length(); }
);
string str="";
int i,j;
for(i=0; i<smin.size(); i++){
str+=smin[i];
for(j=0; j<v.size(); j++){
if(v[j].find(str)==string::npos){
str=str.substr(0, str.length() - 1);
return str;
}
}
}
return str;
}
};
上面以预期成果为例。
我得到的错误消息是 - :
Runtime error: pointer index expression with base 0x000000000000 overflowed to 0xffffffffffffffff
我已经对此进行了类似的研究并尝试实现它们,但错误没有发生。请有人帮我解决这个问题。
向量中有一个空字符串。 在某些时候,您计算长度减去 1。 然后将其用于结束索引子str。
通常,您需要学习使用调试器,它将准确地告诉您哪一行错误以及该行上的变量是什么样子的。
相关文章:
- 数组索引的值没有增加
- (C++)分析树以计算返回错误值的简单算术表达式
- 芬威克树(BIT).找到具有给定累积频率的最小索引,单位为 O(logN)
- 在VS2010-VS2015下编译时,如何使用decltype作为较大类型表达式的LHS
- 提升精神:解析布尔表达式并简化为规范范式
- 不能在初始值设定项列表中将非常量表达式从类型 'int' 缩小到'unsigned long long'
- 查找最接近的大于当前数字的数字的索引
- 使用正则表达式regex_search在字符串中查找字符串
- 如何从折叠表达式中获取索引
- 片段着色器中的"错误:在 GLSL 1.30 及更高版本中禁止使用非常量表达式索引的采样器数组"
- 如何根据某个索引将字符串与正则表达式匹配?
- 运行时错误:基0x000000000000溢出到0xffffffffffffffff的指针索引表达式 (basic_st
- C++正则表达式:获取子匹配的捕获组的索引
- 如何消除"仅使用常量表达式索引到数组"警告?
- 使用表达式模板编译时间数组索引--constexpr
- “无效的操作数是二进制表达式”当使用自定义结构作为C 中的MAP索引时
- 索引处C++正则表达式
- 使用正则表达式查找第一个匹配C++索引
- 用于解析c++中数组索引表达式的正则表达式
- 如何在与提升正则表达式匹配的字符串中找到索引