gpt4 book ai didi

c++ - 带 vector 和正斜杠的字符串算术

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:44:50 26 4
gpt4 key购买 nike

我遇到了一个简单的问题:

    string minEditOperations(vector<vector<int>> DPTable, string firstString, string secondString)
{
//second string is what first string needs to be changed into, the DPTable function is flipped
int rowIterator = firstString.size() , columnIterator = secondString.size();

string output;

while (rowIterator > 0 && columnIterator > 0)
{
if (firstString[rowIterator - 1] == secondString[columnIterator - 1])
{
//Keep
columnIterator--;
rowIterator--;
output = '^' + output;
}
else
{
//Calculate the different values
int mincompare = min(DPTable[rowIterator - 1][columnIterator - 1], min(DPTable[rowIterator][columnIterator - 1], DPTable[rowIterator - 1][columnIterator]));

if (DPTable[rowIterator - 1][columnIterator - 1] == mincompare)
{
output = "/" + firstString[rowIterator] + output;
}
else if (DPTable[rowIterator -1][columnIterator] == mincompare)
{
output = "-" + output;
}
else
{
//Right
//Insert
output = "+" + firstString[columnIterator] + output;
columnIterator--;
}

}

}
return output;
}

我试图“添加”到一个字符串,但是无论何时执行代码,输出字符串都不会改变。

 output = "+" + firstString[columnIterator] + output; 

任何人都可以阐明这一点吗?

最佳答案

问题似乎是由尝试将字符串添加到 char 值引起的(因为 firstString[rowIterator] 是一个 char)。

尝试这样的事情:

output = "/" + string(1, firstString[rowIterator]) + output;

这基本上是从一个字符创建一个长度为 1 的字符串。

关于c++ - 带 vector 和正斜杠的字符串算术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23189688/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com