题目:HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序列的和,你会不会被他忽悠住?(子向量的长度至少是1)

思路一:

package Chap2;public class FindGreatestSumOfSubArray {public static int FindGreatestSumOfSubArray(int[] array) {int len=array.length;int a[]=new int[len];//如果只有一个数,则直接输出if (array.length==1) {return array[0];      }       //如果有正数和负数的话就进行下面的操作for (int i = 0; i < array.length; i++) {if (i==0) {a[i]=array[i];}else {a[i]=array[i]+a[i-1];}}int b=a[0];a[0]=0;for (int i = 0; i < a.length; i++) {for (int j = i; j < a.length; j++) {int sum=a[j]-a[i];if (sum>b) {b=sum;}}}boolean falg=false;int c=0;int d=array[0];//如果全是负数,没有正数,将最大的负数输出for (int i = 0; i < a.length; i++) {if (array[i]<0) {c++;if (array[i]>d) {d=array[i];}}}if (c==array.length) {return d;}return b;}public static void main(String[] args) {// TODO Auto-generated method stubint[] array={6};System.out.println(FindGreatestSumOfSubArray(array));}}

思路二:sum  不为0 就一直加,因为你的最大值max会给你记住,所以不要怕丢失值

package 数组类型;public class 求数组中的最大连续子向量和 {public static int GetsequenceSum(int[] input) {if (input == null || input.length == 0)return 0;int sum = input[0];int max = input[0];for (int i = 1; i < input.length; i++) {if (sum >= 0) {sum = sum + input[i];//只要能加上,只要不为负数 就一直加 管他了 每加一次 有max记录最大值 拍啥} else {sum = input[i];}if (sum > max) {max = sum;}}return max;}public static void main(String[] args) {int[] array = {6, -3, -2, 7, -15, 1, 2, 2};System.out.println(GetsequenceSum(array));}
}

剑指offer_31:HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但相关推荐

  1. 剑指offer刷题:javaHZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解

    题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学.今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决.但是,如果向量 ...

  2. 剑指offer:连续子数组的最大和

    题目描述 小米2020届笔试题 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学.今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很 ...

  3. 《剑指offer》连续子数组的最大和

    题目:HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学.今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决.但是,如果向量中包 ...

  4. 最大连续子数组和 动态规划_剑指Offer算法题 33:连续子数组的最大和

    题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学.今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决.但是,如果向量 ...

  5. 【剑指offer】_05 连续子数组最大和

    题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学.今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决.但是,如果向量 ...

  6. 《剑指offer》-连续子数组的最大和

    题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学.今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决.但是,如果向量 ...

  7. 剑指offer之连续子数组的最大和

    题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学.今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决.但是,如果向量 ...

  8. 剑指offer面试题[31]-连续数组的最大和

    题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学.今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决.但是,如果向量 ...

  9. 【剑指offer】连续子数组的最大和(未完待续。。。)

    题目:HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学.今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决. 但是,如果向量中 ...

最新文章

  1. 博客中最快捷的公式显示方式:Mathjax + Lyx
  2. JavaMail 发送邮件
  3. Windows 安装NET4.6/4.7/4.8 时间戳签名和或证书无法验证或已损坏
  4. python opencv图像对比度增强_图像增强、锐化, Python-OpenCV 来实现 4 种方法!
  5. fantouch os Android 7,Funtouch OS 3.1 with Android 7.1升级计划
  6. sql查询所有商品的信息_属于菜鸟的sql 干货(7)
  7. 【VS2008无法启动asp.net development server】的解决
  8. yarn 怎么查看有多个job在跑_flink on yarn 模式下提示yarn资源不足问题分析
  9. 文件摆渡是什么意思_数据摆渡是什么意思?如何确保安全性?
  10. T-SQL多个小计+合计,分类汇总
  11. 深度学习(三十二)半监督阶梯网络学习笔记-NIPS 2015
  12. 制定Windows重要安全计划——12步纲要
  13. 434.字符串中的单词数
  14. win10系统设置护眼色 word2016页面显示失败
  15. 关于vs应用程序无法正确启动问题
  16. 服务器空文件夹无法删除怎么办,为什么文件夹删不掉
  17. 计算机科学与技术名言,关于科学的名言(20个最值得一读的科技名言)
  18. 在谷歌Android都有哪些组,谷歌Android阵营引领了哪些主流技术?
  19. HDU5619 Jam's store(最小费用最大流 MCMF)
  20. 前端VUE3+Vite -- 框架搭建

热门文章

  1. Andrew Ng ML课程总结(一)
  2. 3D点云之PCL学习之路(二)
  3. C/C++编程学习 - 第14周 ⑦ 多边形内角和
  4. 从Rust到远方:PHP星系
  5. 基于DSP TMS320F2812的1553B总线开发板
  6. 如何开发一个图像识别图形增强,AI图像转换系统毕业设计毕设作品
  7. MessageQueue.IdleHandler接口使用方法以及原理分析
  8. API服务平台,服务管理与发布平台
  9. 关于对象标注文件的转换(xml转json)
  10. HDU6112-今夕何夕