了解算法解决方案
Understanding an algorithm solution
我想自己解决这里的问题:在C++中找到左右相等的最长子字符串
代码在这里
int getEqualSumSubstring(string s) {
int i=0,j=i,foundLength=0;
for(i=0;i<s.length();i++)
{
for(j=i;j<s.length();j++)
{
int temp = j-i+1;
if(temp%2==0)
{
int leftSum=0,rightSum=0;
string tempString=s.substr(i,temp);
// printf("%d ",tempString.length());
for(int k=0;k<temp/2;k++)
{
leftSum=leftSum+tempString[k]-48;
rightSum=rightSum+tempString[k+(temp/2)]-48;
}
if((leftSum==rightSum)&&(leftSum!=0))
if(tempString.length()>foundLength)
foundLength=tempString.length();
}
}
}
return(foundLength);
}
我想知道 temp = i+j-1 的计算是如何完成的?他如何在纸上或通过示例得到这个方程。我尝试了很多,但我无法得到它。
它只是子字符串的长度,其中 i 和 j 分别是子字符串的左边界和右边界。如果我们在从x到y,x
相关文章:
- 运行同一解决方案的另一个项目的项目
- Project Euler问题4的错误解决方案
- 计算每个节点的树高,帮助我解释这个代码解决方案
- C++:Application.cpp中抛出了未解析的外部符号(解决方案在问题的末尾,供未来的读者参考)
- visual c++,如何获取解决方案目录中的代码
- 有没有办法在远程设备上打开和编辑visual Studio 2017解决方案
- C++Matching Brackets 2解决方案不起作用
- 在 ubuntu3 上C++ goto 定义有什么解决方案吗16.04?
- 在 leetcode 上提交解决方案时出现堆栈缓冲区溢出错误
- 我的固定时间步长与增量时间和插值的解决方案是错误的吗?
- 无法在问题解决方案中执行输出逻辑
- 最大的回文产品 - 程序未运行,编写解决方案但无法理解问题
- 从QTcpSocket上的数据流中连续运行复杂算法的最佳Qt线程解决方案是什么
- 了解算法解决方案
- 有没有解决方案而不是在C++中移动背包回溯算法
- 减少整数分数算法-解决方案说明
- 不回头只选择一个解决方案的算法
- 将一维矩阵数组转换为主一维矩阵的有趣算法挑战,需要有效的解决方案
- 如何在Barrier算法迭代后访问当前解决方案
- 算法文件解决方案中的c2784, c2780和c2676错误