1、求一个整型数组中相邻子向量的最大和。

方法一:最直观的,也是最容易想到的,长度为n的数组,子向量个数为 n *(n+1)/ 2 ,找到和最大的子向量,复杂度为 O(n^2 )

int findMax(int *a,int n) //a为待查找数组,n为数组长度

{

int max=0,sum=0;

for (int i=0;i

{

sum=0;

for (int j=i;j

{

sum+=a[j];

max=max>sum?max:sum;

}

}

return max;

}

改进方法:顺序查找整个数组,用maxSofar存储当前位置之前的最大子向量的和,maxSofar小于0时,更新为0,用max存储包括当前位置的最大子向量和,max小于maxSofar时,更新为maxSofar,复杂度为 O(n)

int findMax2(int *a,int n)

{

int max=0,maxSofar=0;

for (int i=0;i

{

maxSofar+=a[i];

maxSofar=maxSofar>0?maxSofar:0;

max=max>maxSofar?max:maxSofar;

}

return max;

}

编程珠玑java_编程珠玑第八章相关推荐

  1. 江阴 java_江阴学java编程,江阴java编程学习哪里好,江阴java编程学习一般要多久才能学会...

    江阴学java编程,江阴java编程学习哪里好,江阴java编程学习一般要多久才能学会 首页 > 软件 > 江阴学java编程 作者:镀金池   发布时间:2019-02-14 11:40 ...

  2. python编程入门指南-编程入门指南

    编程入门指南 ----------------------------------------------- 编程入门指南 v1.5 --- https://zhuanlan.zhihu.com/p/ ...

  3. 编程范式:函数式编程防御式编程响应式编程契约式编程流式编程

    不长的编码生涯,看到无数概念和词汇:面向对象编程.过程式编程.指令式编程.函数式编程.防御式编程.流式编程.响应式编程.契约式编程.进攻式编程.声明式编程--有种生无可恋的感觉. 本文试图加以汇总和整 ...

  4. Linux环境编程姜林美,Linux环境编程习题_编程题_答案.pdf

    Linux环境编程习题_编程题_答案 Linux 境编程-人民邮电出版社-姜林美 课后习题(编程题)答案 第三章 1 第五章 4 第六章 9 第七章 19 第八章 22 第九章 35 第十章 38 三 ...

  5. c++ mysql编程_C++ MySQL编程

    MySQL编程需要包含头文件.该文件一般在MySQL安装目录下的include文件夹下. 包含头文件还不够,还需要包含"libmysql.lib"库,一般在lib文件夹下. MyS ...

  6. java 函数式编程_函数式编程杂谈

    比起命令式编程,函数式编程更加强调程序执行的结果而非执行的过程,倡导利用若干简单的执行单元让计算结果不断演进,逐层推导出复杂的运算.本文通过函数式编程的一些趣味用法来阐述学习函数式编程的奇妙之处. 一 ...

  7. C语言网络编程:TCP编程模型

    编程模型 TCP编程模型如下 TCP服务器的工作过程如下: 服务器创建一个专门的"文件描述符"来监听来自客户端的"三次握手",然后建立链接 链接建立成功后,服务 ...

  8. python向量化编程_向量化编程思维。

    首先恭喜你找到工作:) 在我看来,编程和向量化思维一点关系都没有.向量化思维是只有在处理矩阵运算的时候,才会使用的方式.而且,本质上,在我看来,向量化思维本质是数学能力,而非编程能力.在这个课程中,你 ...

  9. php 取对象数据_过程式编程和面向对象编程有什么区别?怎么理解php对象的概念?...

    PHP编程中对象的概念? 在上一篇文章咱们介绍了使用了php中的new pdo来连接数据库MYsql,其实在我们学习编程语言时经常会碰到"对象"这个词汇,准确来说是"面向 ...

  10. java什么是函数式编程,Java 函数式编程(一)初识篇

    本文已授权"后端技术精选"独家发布. 开发者使用Java8编写复杂的集合处理算法,只需要简单的代码就能在多喝cpu上高效运行,这就是Lambda表达式的初衷. 提示:函数式编程和语 ...

最新文章

  1. Java反射原理剖析一
  2. 【不同的Java垃圾回收器的比较】
  3. python开发串口通信界面_python3脚本篇1-串口通讯脚本
  4. javascript引擎工作原理的初步了解
  5. 灾难恢复演练成功的8大步骤
  6. php把一个数组放在另一个数组的后面,在PHP中的另一个数组之间注入一个数组
  7. ESP8266-01学习笔记01:如何使用USB转串口对ESP-01进行入门调试、烧录固件?
  8. 【浏览器】浏览器下载CSV文件的方法
  9. 马云秀旋风拳法,拳王帕奎奥亲自陪练!网友:钞能力让你吃不了我一拳
  10. r读取文件夹下的所有csv文件_[R语言]读取文件夹下所有子文件夹中的excel文件,并根据分类合并。...
  11. 华为p20:拍美景,听讲解,旅行更智能
  12. 万物皆“数”:你最好学学微积分,它是上帝的语言
  13. APK应用程序的解包、修改、编辑、打包及应用(一)
  14. python学后总结_学员 | 斥巨资学完数据分析后,给大家总结了7个小建议
  15. 阿里,昨天被主管告知3.25了,感觉自己好失败...
  16. mysql索引执行顺序_mysql索引及sql执行顺序
  17. 数字孪生系统有哪些意义?
  18. Python在Windows下使用ez_setup.py安装pip
  19. 深度学习机器学习面试题——自然语言处理NLP,transformer,BERT,RNN,LSTM
  20. 【数据库】数据库设计三范式

热门文章

  1. 7-设计模式之行为模式(模板方法、策略、命令、责任链)
  2. 转载:在Python 3中使用深度森林(Deep Forest)进行分类
  3. Solaris系统root用户无法直接登录
  4. AOSP ~ Camera - YUV格式简介
  5. 计算机重启 ie 被改,IE浏览器首页被篡改怎么办 如何重置IE还原到最初的安装状态...
  6. 决策树cart算法实战
  7. 一套SpringBoot+VUE全平台支付系统源码
  8. 家庭一台电脑多人上网方法
  9. Navicat8.0注册码
  10. android rom打包解包工具,Android ROM定制:boot.img、recovery解包打包