首页 > 代码库 > 线性扫描算法求数组中的最大子序列
线性扫描算法求数组中的最大子序列
在看pat上的题目思考许久,还是久久不能完全实现怎么去求子序列中的首位。先贴出个还有点bug的代码:
#include <stdio.h>int main() { int i, size = 0, maxEle = 0, currEle = 0; int currEleStart = 0, currEleEnd = 0; scanf("%d", &size); int arr[size]; for(i = 0; i < size; i++) { scanf("%d", &arr[i]); currEle += arr[i]; if (currEle >= 0 && maxEle == 0) { currEleStart = arr[i]; } if (currEle > maxEle) { maxEle = currEle; currEleEnd = arr[i]; } else if (currEle < 0) { currEle = 0; } } printf("%d %d %d", maxEle, currEleStart, currEleEnd); return 0;}
线性扫描算法求数组中的最大子序列
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。