Divide and Conquer -- Leetcode problem53. Maximum Subarray
来源:互联网 发布:馆陶县行知教育集团 编辑:程序博客网 时间:2024/06/17 21:26
- 描述:Find the contiguous subarray within an array (containing at least one number) which has the largest sum.
For example, given the array [-2,1,-3,4,-1,2,1,-5,4],
the contiguous subarray [4,-1,2,1] has the largest sum = 6.
- 分析:这道题看起来题目非常简单,但是仔细想想却又感觉没有什么简便的方法来进行解答,起初想法是直接用穷举法列举出所有可能,但是这样做就失去了这道题的意义,并且会超时。
- 思路一:(动态规划)这道题Leetcode把它放在Divide and Conquer里面其实对做题者的误导蛮大的,虽然可以用分治法的思想,但是最终还是要对整个数组进行操作,分治法的用处不大,仅仅在做题的角度来说,动态规划足够解决这道题,分治法在对这道题解法优化的过程中才会使用到。
class Solution {public: int maxSubArray(vector<int>& nums) { int max_num = 0; int max_max = nums[0]; for (int i = 0; i < nums.size(); i++) { if (max_num < 0) { max_num = nums[i]; } else { max_num += nums[i]; } max_max = max(max_num, max_max); } return max_max;}};
阅读全文
0 0
- Divide and Conquer -- Leetcode problem53. Maximum Subarray
- LeetCode—Divide and Conquer--53. Maximum Subarray
- LeetCode 53. Maximum Subarray--Divide and Conquer(分治法)
- 53. Maximum SubArray(divide and conquer)
- [Leetcode刷题总结系列][Dynamic programming][Divide-and-conquer]53.Maximum Subarray
- implement The Maximum Subarray using divide and conquer
- [leetcode] Divide and Conquer
- leetcode-Divide and Conquer
- LeetCode--Divide and Conquer
- leetcode Decode Ways Divide and Conquer
- LeetCode之Divide and Conquer题目汇总
- Divide and Conquer -- Leetcode problem169: Majority Element
- LeetCode--169. Majority Element (Divide-and-Conquer)
- Divide and conquer algorithm
- Divide-and-Conquer
- 分治 Divide and Conquer
- divide-and-conquer
- algorithm:divide and conquer
- Codeforces Round #435 (Div. 2) C. Mahmoud and Ehab and the xor
- C++数据结构实验报告:顺序表实现
- 1203:单词分割
- 记录json解析
- 表单标签
- Divide and Conquer -- Leetcode problem53. Maximum Subarray
- FreeRTOS 任务挂起和恢复
- 郵便実装
- 微服务架构特点
- MySQL备份之mysqldump工具--lock-all-tables
- ThinkPHP CURD之登录
- MATLAB 判断字符串中是否含有特定的字符
- Attention and Augmented Recurrent Neural Networks
- computed 计算属性无法双向绑定