c++ - 解决问题时编译器错误c ++
问题描述
我只是在 leetcode 上进行比赛。我提交了我的代码:
class Solution {
public:
int numOfStrings(vector<string>& patterns, string word) {
int cnt=0;
for(int j=0;j<patterns.size();j++)
{
string ch=patterns[j];
if(word.size()-ch.size()>=0)
{for(int i=0;i<=word.size()-ch.size();i++)
{
if(ch==word.substr(i,ch.size()))
{
cnt++;
break;
}
}}
}
return cnt;
}
};
这不起作用,因为它在 if 语句上显示了一些问题if(word.size()-ch.size()>=0)
。当这个 if 语句被重写为if(word.size()>=ch.size())
代码工作完全正常时。
如果word.size()-ch.size()>=0
和word.size()>=ch.size()
是等价的陈述为什么你第一个不起作用?
解决方案
推荐阅读
- sql - 如何计算丢失的客户
- php - laravel 如果路由为空或不存在重定向到其他页面
- java - 在 Lambda 表达式中调用 Java 方法并获取结果
- serverless-framework - serverless-openwhisk 包配置不包含文件
- django - 在 Django 中加密和解密
- java - 测验问题重复问题
- scheme - Scheme中的LCS(longest common subsequence)
- windows - Scala错误:类型不匹配
- c++ - OpenGL 我正在改变我的 z 值,但什么也没发生
- javascript - 页面加载时选中复选框时jQuery禁用(不仅在单击或更改时)