刚接触算法,不太会这样的结果返回
谢谢回答
3条回答 默认 最新
- two L 2018-09-18 15:28关注
#include
using namespace std;
struct samequeue
{
int data[100];
int sum = 0;
int firstcount = 0;
int lastcount = 0;
};const int arr[] = {5,7,3,3,3,9,14,4,11,5,5,4,14,14,8};
const int k = 25;//检查是否为K
void checkIsK(samequeue &sq)
{
if (sq.sum == k)
{
cout << "起始位置:" << sq.firstcount << "\t"
<< "终止位置:" << sq.lastcount << "\t"
<< "子序列:"; for (int j = sq.firstcount; j <= sq.lastcount; ++j) cout << arr[j] << ",";
cout << "和:" << sq.sum << endl;
}
}int main()
{
samequeue sq;
for (int i = 0; i {
sq.data[sq.lastcount] = arr[i];
sq.sum = sq.sum + arr[i];
while(sq.sum >= k)
{
checkIsK(sq);
sq.sum = sq.sum - sq.data[sq.firstcount];
sq.firstcount++;
}
sq.lastcount++;
}
getchar();
return true;
}本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 这是哪个作者做的宝宝起名网站
- ¥60 版本过低apk如何修改可以兼容新的安卓系统
- ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
- ¥50 有数据,怎么建立模型求影响全要素生产率的因素
- ¥50 有数据,怎么用matlab求全要素生产率
- ¥15 TI的insta-spin例程
- ¥15 完成下列问题完成下列问题
- ¥15 C#算法问题, 不知道怎么处理这个数据的转换
- ¥15 YoloV5 第三方库的版本对照问题
- ¥15 请完成下列相关问题!