题目
描述:
输入一个整形数组。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。
接口
Int GetSubArraySum(Int* pIntArray,Int nCount);
规格
要求时间复杂度为O(n)
举例
例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2,
因此输出为该子数组的和18
练习阶段:
初级
代码
#include <iostream>
#include <string.h>
#include "oj.h"
using namespace std;
int GetSubArraySum(int* pIntArray, int nCount){
if(pIntArray == NULL || nCount <= 0){
return 0;
}
int sum = pIntArray[0];
int max = pIntArray[0];
for(int i = 1;i < nCount;++i){
if(sum < 0){
sum = 0;
}
sum += pIntArray[i];
if(max < sum){
max = sum;
}
}
return max;
}
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('<ul/>').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('<li/>').text(i));
};
$numbering.fadeIn(1700);
});
});
</script>
分享到:
相关推荐
华为机试一霸教你过华为机试演讲稿..pdf
华为OD机试(..75.rar
华为OD机试 - 等和子数组最小和(Java & JS & Python & C & C++).html付费专栏内容,免费下载,多种语言解法
华为机试真题(非牛客网试练题)OD考试真题,不定期更新,文档含代码解答
华为机试一霸教你过华为机试.doc
华为机试一霸教你过华为机试。大菊厂招聘有三关,心理测试,机试,面试。
2016华为硬件机试题库完整.docx
华为od 华为od_华为od练习题之整型数组合并_题库题解
。。。
。。。
本宝典旨在帮助考生通过华为机试,涵盖软件类机试的准备知识点,包括调整心态、算法竞赛入门经典、心中默念C++和C的区别、大量练习等。同时,也提供了常用的变量类型,例如int、double、string、char[]等,并对其...
华为 华为_华为od题库练习题之整型数组合并
华为机试算法题总结 经验分享
华为机试一霸教你过华为机试e-18页.pdf
华为机试oj练习题2014
本人在准备2014年华为机试的时候,进行整理的,代码全部运行成功。如有错误,请大家见谅。
华为OD系列--华为OD机试
华为机试编程样题是一种类似于算法设计的编程题目,主要考察应聘者的基本编程能力和算法设计能力。这些题目通常来自于leetcode、codewars、hackerRank等平台,涵盖了数组、链表、指针、字符串、循环、枚举、排序等...
华为机试成功归来,与小伙伴们分享下经验