题解 | #连续子数组最大和#

连续子数组最大和

http://www.nowcoder.com/practice/1718131e719746e9a56fb29c40cc8f95

#include <algorithm>
#include <iostream>
#include <vector>

int main(int argc, char *argv[]) {
  int size;
  
  std::cin >> size;
  
  std::vector<int> num(size);
  
  for (int i = 0; i < size; i++) {
    std::cin >> num[i];
  }
  
  int max = num[0];
  // pre是最大前n项之和
  int pre = num[0];
  
  
  for (int i = 1; i< size; i++) {
    // 找出一个子序列最大和
    pre = std::max(pre + num[i], num[i]);
    // 子序列最大和之间的比较
    max = std::max(pre, max);
  }
  
  std::cout << max << std::endl;
  
  return 0;
}
全部评论

相关推荐

面了这么多场试,总有公司总喜欢压力面一个小时面试+手撕,哪里不会就点哪里,说了不会不会还继续追着问不尊重求职者,稍微有些细节记不清了,就开始怀疑项目真实性以及人格让求职者开摄像头但是自己不开,说话声音还贼小,pardon几次就开始不耐烦的不知道这个算不算,手撕的时候,面试官人跑了。。。最后快结束才来
一纸丿繁华丶:你换位思考一下,自己在职场被领导push麻了,身心俱疲,现在有个机会让你放松一下,体验一把上位者的感觉,还能看着那些高学历人才、未来自己的竞争者,抓耳挠腮、手足无措的样子,没给你当场笑出来就不错了,理解一下面试官吧。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务