微软100题(3) 最大子数组和
来源:互联网 发布:mash up软件下载 编辑:程序博客网 时间:2024/06/11 00:14
3.求子数组的最大和
题目:
输入一个整形数组,数组里有正数也有负数。
数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。
题目:
输入一个整形数组,数组里有正数也有负数。
数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。
求所有子数组的和的最大值。要求时间复杂度为O(n)。
一:动态规划思想
int MaxSubSum(vector<int> &data){int n = data.size();vector<int> dp(n);dp[0] = data[0];int answer = dp[0];for (int i = 1; i < n; ++i){dp[i] = max(dp[i-1]+data[i],data[i]);answer = max(answer,dp[i]);}return answer;}二、O(1)空间复杂度
int MaxSubSum(vector<int> &data){int n = data.size();int curr = data[0];int answer = data[0];for (int i=1; i<n; ++i){curr = max(curr+data[i],data[i]);answer = max(curr,answer);}return answer;}
0 0
- 微软100题(3) 最大子数组和
- (微软面试100题)求子数组的最大和
- (微软100题)3.求子数组的最大和
- 【微软100题】003求子数组的最大和
- 微软面试(3/100)--求子数组的最大和
- 微软面试100道之3 求子数组的最大和(数组)
- 微软100题第3题:求子数组的最大和
- 微软等面试100题筛选答案-3-求子数组最大和
- 微软100题第三题(求子数组的最大和)
- 微软等数据结构+算法面试100题(44)-- 求子数组的最大和
- 微软编程题之求子数组的最大和
- 微软面试100题之第三题:求子数组的最大和
- 求子数组的最大和 【微软面试100题 第三题】
- 微软面试100题之三 求子数组的最大和
- 微软100道算法题------求子数组的最大和
- 微软面试100题系列---求子数组的最大和
- 动态规划算法 (微软笔试题,求连续子数组的最大和)
- 3 微软面试题:求子数组的最大和,并找出此子数组
- SpringMVC-05 处理模型数据
- greenDAO 使用初体验
- Binary Tree Preorder Traversal
- 宁早不晚,美国想要汽车之间彼此对话
- 什么是回文数
- 微软100题(3) 最大子数组和
- [Linux]内存共享
- Leetcode Count and Say
- 使用git
- java中的注释
- 排序汇总
- POJ2391解题报告
- js eval()函数用法
- 完全使用Linux