当前位置: 首页 > news >正文

[CareerCup] 17.8 Contiguous Sequence with Largest Sum 连续子序列之和最大

 

17.8 You are given an array of integers (both positive and negative). Find the contiguous sequence with the largest sum. Return the sum.

 

LeetCode上的原题,请参见我之前的博客Maximum Subarray。

 

解法一:

int get_max_sum(vector<int> nums) {
    int res = INT_MIN, sum = INT_MIN;
    for (auto a : nums) {
        sum = max(sum + a, a);
        res = max(res, sum);
    }
    return res;
}

 

解法二:

int helper(vector<int> nums, int left, int right) {
    if (left >= right) return nums[left];
    int mid = left + (right - left) / 2;
    int lmax = helper(nums, left, mid - 1);
    int rmax = helper(nums, mid + 1, right);
    int mmax = nums[mid], t = nums[mid];
    for (int i = mid - 1; i >= left; --i) {
        t += nums[i];
        mmax = max(mmax, t);
    }
    t = mmax;
    for (int i = mid + 1; i <= right; ++i) {
        t += nums[i];
        mmax = max(mmax, t);
    }
    return max(mmax, max(lmax, rmax));
}

int get_max_sum(vector<int> nums) {
    return helper(nums, 0, nums.size() - 1);
}

 

CareerCup All in One 题目汇总

相关文章:

  • 想在一个项目中实现多数据源切换?几行代码就搞定了
  • 分享工作一年后收藏的超好用Idea插件,工作效率直接翻倍
  • Activity后台运行一段时间回来crash问题的分析与解决
  • SpringBoot+SpringSecurity实现基于真实数据的授权认证
  • Linux SendMail发送邮件失败诊断案例(三)
  • ElasticSearch究竟是个什么东西
  • 菜鸟学自动化测试(五)-----selenium命令之定位页面元素
  • 软件行业和互联网行业究竟有什么区别?又该如何去选择?
  • 今天打开阿里妈妈惊现 ¥50 元佣金
  • 通过官方文档高效学习ElasticSearch的JavaAPI实现!
  • 如何在自己的项目中引入ElasticSearch搜索引擎?
  • JSON--百度百科
  • 一个双非本科程序员工作一年的经历
  • guava 并发
  • Oauth2是个什么东西?
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • Bytom交易说明(账户管理模式)
  • create-react-app项目添加less配置
  • fetch 从初识到应用
  • iOS小技巧之UIImagePickerController实现头像选择
  • java小心机(3)| 浅析finalize()
  • js 实现textarea输入字数提示
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • JS字符串转数字方法总结
  • Just for fun——迅速写完快速排序
  • Kibana配置logstash,报表一体化
  • Otto开发初探——微服务依赖管理新利器
  • PermissionScope Swift4 兼容问题
  • Sequelize 中文文档 v4 - Getting started - 入门
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • Webpack入门之遇到的那些坑,系列示例Demo
  • 从PHP迁移至Golang - 基础篇
  • 技术发展面试
  • 利用jquery编写加法运算验证码
  • 山寨一个 Promise
  • 视频flv转mp4最快的几种方法(就是不用格式工厂)
  • 带你开发类似Pokemon Go的AR游戏
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • ​2020 年大前端技术趋势解读
  • #pragam once 和 #ifndef 预编译头
  • %check_box% in rails :coditions={:has_many , :through}
  • ( 10 )MySQL中的外键
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (04)odoo视图操作
  • (c语言)strcpy函数用法
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • (十八)三元表达式和列表解析
  • (转)拼包函数及网络封包的异常处理(含代码)
  • .net mvc 获取url中controller和action
  • .NET Standard 支持的 .NET Framework 和 .NET Core
  • .net web项目 调用webService
  • .NET/C# 的字符串暂存池