求最大连续子序列的和
来源:互联网 发布:关系型数据库基本特征 编辑:程序博客网 时间:2024/06/09 15:12
今天看到一道绿盟的面试题。感觉比较有意思,放在这里给大家分享一下。原文如下:
小王的账本:小王出门打零工,工作很不稳定,收入也很不稳定,他找了一个账本记录他每天的支出,例如:
1月1日 收入320;
1月2日 没找到工作,吃饭花了30;
1月3日 挣50;
1月4日 无工作,吃饭花了17;
1月5日 无工作,租房+吃饭花了2600;
..........
年底了,小王想知道自己账本上哪一段时间挣钱挣的最多。
设计并实现算法帮助小王得到他挣钱最多的时间段和这段时间所挣到的钱(数据条数<1000,算法时间/空间复杂度尽可能小),并给出算法的时间/空间复杂度。
--------------------------------------------------------------------------------------------------------------
刚开始看到这道题,没大明白,后来看明白了,觉得蛮有意思的。其实就是求最大连续子序列的和
/*求最大连续子序列的和描述:有一整数序列X,长度为N,从中连续的选出n个数使这n个数的和最大,并指出和最大时,这n个数在原序列中的下标范围*/#include<stdio.h>#define N 10 //假设N为365int main(void){int i, a[N],sum;int start, end;printf("please input the value of N numbers\n");for ( i = 0; i < N; i++){scanf("%d", &a[i]);}int max = a[0];//将最大值先定义为第一个数start = 0;//默认范围就是第一个数end = 0;//默认范围就是第一个数for (i = 0; i < N; i++){sum = 0;for (int j = i; j < N; j++){sum += a[j];if (max < sum){max = sum;start = i;//和最大时,开始的那个数end = j;//和最大时,结束的那个数}}}printf("最大连续子序列的和为%d\n", max);printf("范围为第%d---第%d个数\n", start + 1, end + 1);//从1开始数return 0;}
这样算的话,会有几个问题。
1:如上所示,其实1-8天和1-10天的和的结果是一样的,最后输出只输出了第一种情况。
2:如果序列中,有几个不同子序列的和都是最大的,最后也智能输出最开始的那个最大子序列。
阅读全文
0 0
- 求连续子序列的最大和
- 求最大连续子序列的和
- 求最大连续子序列的和
- 求连续子序列最大和
- 求数组最大连续子序列和
- 求最大连续子序列和
- 分治法求数组最大连续子序列的和
- 求数组的连续子序列最大和
- 求序列里连续子序列最大和
- HDU--1231 : 最大连续子序列 (DP求连续子序列最大和)
- nyoj 104 最大和 【压缩矩阵 DP求最大连续子序列的和】
- 最大连续子序列的和
- 最大连续子序列和的问题
- 最大连续子序列的和(normal)
- 最大连续子序列的和
- 最大连续子序列的和
- 最大连续子序列的和
- 最大和连续子序列的变形
- HTTP中请求转发和重定向的区别
- 科大讯飞编程题 2018 课程冲突
- 实验一:写一个hello world小程序
- SENet(Squeeze-and-Excitation Networks)算法笔记
- 【UVA1289】Stacking Plates
- 求最大连续子序列的和
- Djanjo1.11+MySQL5.7+Python2.7快速搭建博客
- 【图像语义分割】DeepLab V2: CNN + Atrous Convolution + Fully Connected CRF
- AOP切面管理日志的两种方式
- Shell编程最基本的代码
- Android开发——数据库框架Suger遇到的大坑(依据列名查询不到数据解决办法)
- 20170916Hive学习总结
- 使用ajax实现登录业务
- NOIP2016天天爱跑步 题解报告【lca+树上统计(桶)】