Algorithm 连续值的最大和
美丽的亚得里亚海沿岸有N家酒店。每家酒店都有 它的价值是欧元 斯罗尔乔中了百万欧元的彩票。现在他想买一部电影 对于连续的酒店,这些酒店的价值之和 连续的酒店尽可能好,但不超过M 我被要求计算可能的最大值。 我的代码是:Algorithm 连续值的最大和,algorithm,Algorithm,美丽的亚得里亚海沿岸有N家酒店。每家酒店都有 它的价值是欧元 斯罗尔乔中了百万欧元的彩票。现在他想买一部电影 对于连续的酒店,这些酒店的价值之和 连续的酒店尽可能好,但不超过M 我被要求计算可能的最大值。 我的代码是: big=-1; for(i=0;i<n;i++) { sum=0; for(j=i;j<n;j++) { sum+=A[j]; if(sum<m) {B[i]=sum;contin
big=-1;
for(i=0;i<n;i++)
{
sum=0;
for(j=i;j<n;j++)
{
sum+=A[j];
if(sum<m)
{B[i]=sum;continue;}
if(sum>m)
{B[i]=(sum-A[j]); break;}
if(sum==m)
{printf("%d\n",m); exit(1);}
}
if(B[i]>big)
big=B[i];
}
printf("%lld",big);
big=-1;
对于(i=0;i好的,这里是如何做到的,而不是让未来的谷歌用户太过明显
将酒店按从左到右的顺序排列在列表中
使用从索引i开始到j结束的“移动窗口”(这不是“背包问题”的特例吗?@Mika确实如此,但这并不能告诉我们太多。为什么对这个问题投了反对票?是因为提问者请求回答者提供伪代码吗?@JanDvorak,我想是因为http://www.spoj.com/problems
不是为解决堆栈溢出问题而创建的,
…允许出现以下问题这里的这个?它有助于将大脑问题转化为谷歌问题。我认为,这不是很好…@user3210882这会让它变得有点太简单,不是吗?@vp_arth不,每个索引最多移动n次,每次只有恒定数量的东西要更新。所以O(n)。好的简单方法。我认为在这里发布完整的解决方案(或伪代码)不是问题。当有人在谷歌上搜索解决方案时,他应该希望找到破坏者