该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#include

int max(int a[],int left,int right);

int maxcross(int a[],int left,int right,int middle);

int xyzleft,xyzright;

int main()

{

int T;

int asd;

int num[100000];

scanf("%d",&T);

while(T--)

{

scanf("%d",&asd);

getchar();

int i;

for(i=0;i

{

scanf("%d",&num[i]);

getchar();

}

printf("%d %d %d\n",max(num,0,asd),xyzleft+1,xyzright+1);

printf("\n");

}

return 0;

}

int maxcross(int a[],int left,int right,int middle)

{

int sumleft=0,maxleft=-1001;

for(int i=middle;i>=left;i--)

{

sumleft+=a[i];

if(sumleft>maxleft)

{

maxleft=sumleft;

xyzleft=i;

}

}

int sumright=0,maxright=-1001;

for(int i=middle+1;i<=right;i++)

{

sumright+=a[i];

if(sumright>maxright)

{

maxright=sumright;

xyzright=i;

}

}

return maxright+maxleft;

}

int max(int a[],int left,int right)

{

int leftmax,rightmax,crossmax;

if(left==right)

{

xyzleft=xyzright=0;

return a[left];

}

else

{

int mid=(left+right)/2;

leftmax=max(a,left,mid);

rightmax=max(a,mid+1,right);

crossmax=maxcross(a,left,right,mid);

if(leftmax>rightmax&&leftmax>crossmax)

return leftmax;

else if(rightmax>leftmax&&rightmax>crossmax)

return rightmax;

else

return crossmax;

}

}

分治法求数组最大值 c语言,使用分治法求最大子数组的下标。相关推荐

  1. c语言求不定式的最大值,C语言之四则运算表达式求值(链栈)—支持浮点型数据,负数, 整型数据运算...

    运算符间的优先级关系: 链栈结构体定义: 数据域使用字符串长度为20的字符数组(故需要注意判断读取的字符串是运算符还是数值) 可支持浮点型数据,负数, 整型数据的运算 float EvaluateEx ...

  2. c语言指针与一维数组PPT,C语言第5章指针和一维数组.ppt

    C语言第5章指针和一维数组.ppt 2019/11/5,第5章 指针与一维数组,软件学院计算机科学与技术教研室 冯海文 fhw19770704,2019/11/5,5.1 指针的概念与运算,C语言继承 ...

  3. c语言定义不定长数组初始化_C语言如何定义一组长度不定的数组?

    1 引言 定长数组包 在平时的开发中,缓冲区数据收发时,如果采用缓冲区定长包,假定大小是 1k,MAX_LENGTH 为 1024.结构体如下: // 定长缓冲区 //公众号:c语言与cpp编程 st ...

  4. 在c语言中开辟一个数组空间,c语言如何在动态的结构体数组开辟新空间

    #include struct record { float coef; int expn; }; void main() { int num, i; struct record *array; ar ...

  5. 三角形边长求高的c语言函数公式,c 求,已知三角形三边边长为abc,利用公式求面积...

    优质回答 回答者:桃桃妈妈 #include #include using namespace std; void main() { float a; float b; float c; cout&l ...

  6. C语言实验报告求三角形面积,C语言作业,编程求三角形面积。

    满意答案 oikre5602 2014.05.08 采纳率:47%    等级:9 已帮助:363人 123456789#include<stdio.h>#include<math. ...

  7. 分治法求解最大子数组问题

    最大子数组问题求解 将数组A分成两部分,A[left...mid]和A[mid+1..right]两部分,求解最大子数组之和包含了三种可能的情况: 1.完全位于子数组A[left...mid]中,因此 ...

  8. 求一个二维整数数组最大子数组之和,时间复杂度为N^2

    本随笔只由于时间原因,我就只写写思想了   二维数组最大子数组之和,可以  引用  一维最大子数组之和 的思想 一维最大子数组之和 的思想,在本博客上有,这里就不做多的介绍了 我们有一个最初的二维数组 ...

  9. 用c语言编制牛顿法程序,求解试用newton法求函数,YTU 2405: C语言习题 牛顿迭代法求根...

    2405: C语言习题 牛顿迭代法求根 时间限制: 1 Sec  内存限制: 128 MB 提交: 562  解决: 317 题目描述 用牛顿迭代法求根.方程为ax3+bx2+cx+d=0.系数a,b ...

最新文章

  1. ESP32 One-Wire驱动功能
  2. php recursion,PHP与Recursion 学习笔记
  3. Product settype list tool - report PROD_DISPLAY_SETTYPE
  4. Ansible基本命令
  5. Docker简介与简单使用 | 技术头条
  6. Composer学习之————Ubuntu14.04下安装Composer
  7. php yii 表单title,Yii2.0-ActiveForm表单结构自定义教程
  8. 基础篇5-python基本数据类型讲解1.1
  9. 【LeetCode】【refine 2】题号:*2. 两数相加
  10. SQLServer2005 没有日志文件(*.ldf) 只有数据文件(*.mdf) 恢复数据库的方法
  11. 传感器i2c与arduino连接_ARDUINO的I2C通信详解 - arduino读取I2C总线上连接设备的地址...
  12. html、input隐藏内容占空间与隐藏内容不占空间
  13. 用爬虫抓取新浪微博粉丝
  14. 健康指南:趴桌睡觉三大危害
  15. 一文搞懂MySQL体系架构!!
  16. Matlab:交换矩阵的两行(列)
  17. ubuntu18.04 RoboCup实物
  18. mysql 客户端简单搭建
  19. 如何将计算思维融合到C语言程序设计中,利用案例融合计算思维与C语言教学
  20. Atlassian In Action-Jira之推荐插件(四)

热门文章

  1. 5 微信公众号开发 获取 access_token
  2. 常用的富文本编辑器推荐
  3. 科学计算机java算法实现,(Java)科学型计算器开发及实现.doc
  4. ado.net mysql 连接池_ADO.NET数据库连接池的介绍 | 学步园
  5. WhqDatabase 我自己用C#开发的列式数据库
  6. mysql binlog 恢复指定表_Mysql用全备恢复指定表mysqlbinlog抽取某个表的信息
  7. java 8 删选集合 和取集合中的字段重组成集合的使用
  8. beetl 取list下标的问题
  9. dw替换多个html标签,DW查找替换的技巧
  10. (JAVA)Calender类