求子数组的最大和
来源:互联网 发布:淘宝账户被冻结求解冻 编辑:程序博客网 时间:2024/06/06 12:24
这是前几天遇见的一个笔试题。到网上收了一下,也有而且还给出了代码实现。参考了v_JULY_v的
不过我遇到的笔试题还要求求出最大子序列的区间。
题目描述:
输入一个整形数组,数组里有正数也有负数。
数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。
求所有子数组的和的最大值。要求时间复杂度为O(n)。
例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2,
因此输出为该子数组的和18。
给个连接哦亲:点击打开链接
#include <stdio.h>/* Name: Copyright: Author: @dujianjian Date: 14/11/12 18:29 Description: 求子序列的最大和及区间 */int max_sum(int a[],int n,int *ii,int *jj){ int sum = 0; int max = 0; *ii = *jj = 0; for(int i = 0;i<n;i++){ sum += a[i]; if(max<sum){max = sum;*jj =i;} if(sum < 0){sum =0;*ii = i+1;} } //printf("%d,%d\n",*ii,*jj); return max; } int main(){ int a[8]={1, -2, 3, 10, -4, 7, 2, -5}; int ii, jj; printf("%d\n",max_sum(a,8,&ii,&jj)); printf("%d,%d\n",ii,jj); getchar(); return 0; }示例结果:
- 求数组最大子数组的和
- 求子数组的最大和
- 面试---求子数组的最大和
- 求子数组的最大和
- 求子数组的最大和
- 求子数组的最大和
- 求子数组的最大和
- 求子数组的最大和
- 求子数组的最大和
- 求子数组的最大和
- 求子数组的最大和
- 2.求子数组的最大和
- 3.求子数组的最大和
- 求子数组的最大和
- 3、求子数组的最大和
- 求子数组的最大和
- 求子数组的最大和
- 求子数组的最大和
- VC++实现UDP数据包发送
- NSClassFromString,NSSelectorFromString
- hibernate的缓存机制
- 通才还是专才——由摩托裁员引发的讨论
- tomcat绿色版及安装版修改内存大小的方法
- 求子数组的最大和
- 关于JDBC(一)--- JDBC配置
- VC++基于ICMP 遍历路由表
- 19.Java序列化【草案一】
- 一个数据应用闭环
- 加多一個debug protocol去qemu是可能的
- VC++实现ARP协议
- 色彩立体模型软件的编写
- 缓存