c++ - 将字符串转换为整数然后找到连续对整数 C++ 的最大总和

标签 c++

我一直在研究一个 USACO 问题,并为一些测试用例设计了这个(见下文)算法。但是,对于输入“brbrrrbbbrrrrrrrrbbbbbbrrrrb”,我得到 9。我不明白这怎么可能。谁能帮我找到问题所在。

P.S:这些是第一个循环的输出,第二个循环中没有任何值: -10 -10 -10 3个 3个 5个 -10 2个 2个 -10 4个 4个 -10 0

#include <iostream>
#include <vector>

using namespace std;

int main() {

    string necklace;
    cin >> necklace;
    vector <int> neck;
    int c_it = 0;

 for(unsigned int i = 0; i < necklace.length(); i++){
            if(necklace[i] == necklace[i+1] | 'w' == necklace[i+1]){

            c_it++;

        }

        else{
            if (c_it >= 1){
             cout << c_it+1 << endl;  
            }
            else{
            cout << "-10" << endl; 
            }
            c_it = 0;
        }

    }

int maximum = 0;

for(int i=0; i < neck.size(); i++){
        for(int j=1; j<= neck.size(); j++){
            int valueToCompare = neck[i] + neck[j];

            if(valueToCompare > maximum){
                maximum = valueToCompare;
            }

            i++;
            j++;
        }
    }

  cout << maximum;

}

最佳答案

你出错的原因是因为“|”在你的第一个 if 语句中。它应该是 bool 运算符“||”相反。

关于c++ - 将字符串转换为整数然后找到连续对整数 C++ 的最大总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47244662/

相关文章:

c++ - 为什么 QVariant 将 char 类型视为整数类型?

c++ - 对 MFC 项目中的内存泄漏感到困惑,如果从未调用 _CrtDumpMemoryLeaks(),这些内存泄漏就会消失

c++ - 初始化对象时丢弃placement new返回值是否可以

c++ - Visual Studio 线程 - afxwin 还是 C++11 线程?

c++ - 如何理解C++隐式参数 "this"

python - 将 python 函数传递给 SWIG 包装的 C++ 代码

c++ - 将缓冲区发送到 boost::asio::buffer 后是否需要删除缓冲区?

c++ - 如何在 cin.clear() 和 cin.ignore() 之后将光标移动到文本输出的末尾?

c++ - 将 DLL 调用到 VB.Net 中时出现未处理的 AccessViolationException 错误

c++ - 模板化递归函数的语法是什么?