Maximal Subarray Sum : O(n) scan-and-update dynamic programming, https://en.wikipedia.org/wiki/Maximum_subarray_problemhttps://leetcode.com/problems/maximum-subarray

Maximal Submatrix Sum: given 2-D matrix, find the submatrix whose sum is largest
we can solve 1-D case in O(n), then for each possible (i, j), generate column[] = sum{columns[i..j]}, which can be done in O(n) time given it's accumulating, and then solve 1-D case in O(n).
in total, all possible (i, j) means O(n^2), prefix-sum column means O(n), solve 1-D case O(n), in total O(n^3)

Shortest Subarray Sum Equals K : prefix-sum + sort + hash-table: O(nlogn) time, O(n) storage; https://leetcode.com/problems/minimum-size-subarray-sum/

if it's positive only, sliding window can also work.

Longest Subarray Sum Equals K : prefix-sum + sort + hash-table: O(n) time, O(n) storage, https://leetcode.com/problems/maximum-size-subarray-sum-equals-k

class Solution {
public:
int maxSubArrayLen(vector<int>& nums, int k) {
int sum = , res = ;
unordered_map<int, int> m;
for (int i = ; i < nums.size(); ++i) {
sum += nums[i];
if (sum == k) res = i + ;
else if (m.count(sum - k)) res = max(res, i - m[sum - k]);
if (!m.count(sum)) m[sum] = i;
}
return res;
}
};

Largest Subarray Sum A Less than K : change hash-table to a map, and lower_bound / upper_bound : prefix-sum + sort + BST : O(nlogn) time, O(n) storage; https://www.quora.com/Given-an-array-of-integers-A-and-an-integer-k-find-a-subarray-that-contains-the-largest-sum-subject-to-a-constraint-that-the-sum-is-less-than-k

int best_cumulative_sum(int ar[],int N,int K)
{
set<int> cumset;
cumset.insert();
int best=,cum=;
for(int i=;i<N;i++)
{
cum+=ar[i];
set<int>::iterator sit=cumset.upper_bound(cum-K);
if(sit!=cumset.end())best=max(best,cum-*sit);
cumset.insert(cum);
}
return best;
}

Rectangle: sum all possible [i, j] columns, and reduce the case to 1-D, in total O(n^2) * 1-D case.

Max Sum of Rectangle No Larger Than K : sum all possible [i, j] columns together, reduce to 1-D case, in total n^2*nlogn. https://leetcode.com/problems/max-sum-of-sub-matrix-no-larger-than-k/

最新文章

  1. 处理Xcode 警告
  2. 通过例子学习 Keystone - 每天5分钟玩转 OpenStack(19)
  3. 【CSS】创建布局
  4. [cocos2dx]2.2到3.1(3.0)升级帮助
  5. TCP报头
  6. css3边框、阴影
  7. 【Android】 onSaveInstanceState()恢复数据
  8. 11、SQL Server 视图、数据库快照
  9. 第三篇:RESTful介绍
  10. Material使用05 自定义主题、黑夜模式\白天模式切换
  11. MxNet+R︱用R语言实现深度学习(单CPU/API接口,一)
  12. cesium 之图层管理器篇(附源码下载)
  13. 理理Vue细节
  14. 基于RAP(Mock)实现前后端分离开发
  15. c/c++ 标准容器 forward_list resize 操作
  16. spring boot 配置多数据源
  17. LDA-线性判别分析(三)推广到 Multi-classes 情形
  18. Ex 6_1 和最大的相连子序列..._第五次作业
  19. (转载)一张表搞清楚西门子S7系列标准DB块与优化DB块
  20. 基本git指令

热门文章

  1. UIScrollView奇葩不滑动
  2. python发布IIS
  3. 关于EF输出sql的执行日志
  4. NotePad++ 正则表达式替换
  5. Leslie Lamport
  6. Golang 环境变量及工作区概念
  7. 聚聚科技——php开发笔试题及答案
  8. MethodDispatcher—Cherrypy对REST的支持
  9. POJ3984 迷宫问题【水BFS】
  10. maven采用tomcat7启动项目