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

百度网站统计添加网址wordpress获取菜单

百度网站统计添加网址,wordpress获取菜单,莞城仿做网站,网站正在建设中色天使84. 柱状图中最大的矩形 题目地址:84. 柱状图中最大的矩形 - 力扣(LeetCode) 题解思路:暴力:每一列记为矩形的高,找左边和右边比他小的位置,得到以该列为高对应的宽;这样最大的矩形…

84. 柱状图中最大的矩形

题目地址:84. 柱状图中最大的矩形 - 力扣(LeetCode)

题解思路:暴力:每一列记为矩形的高,找左边和右边比他小的位置,得到以该列为高对应的宽;这样最大的矩形 = max(每一列为高 * 对应的宽)

优化思路:单调栈,递减栈:暴力中找左右的过程可以进行预处理,单调栈记录某一列左/右第一个比他小的位置;cur指向右边第一个小的位置,stk.top指向该列,stk.top-1指向左边第一个小的位置

时间复杂度:O(n)

空间复杂度:O(n)

代码:

class Solution {
public:int largestRectangleArea(vector<int>& heights) {int ret = 0; // 前后需要哨兵heights.insert(heights.begin(), 0);heights.emplace_back(0);int size = heights.size();stack<int>stk;stk.push(0);  // 下标for(int i = 1; i < size; i++){if(heights[i] >= heights[stk.top()]){stk.push(i);} else {while(!stk.empty() && heights[i] < heights[stk.top()]){int mid = stk.top();stk.pop();if(!stk.empty()){int left = stk.top();int h = heights[mid];int w = i - left - 1;ret = max(ret, h * w);}}stk.push(i);}}return ret;}
};

77. 组合

题目地址:77. 组合 - 力扣(LeetCode)

题解思路:如注释

时间复杂度:O( C n k ∗ k C^k_n * k Cnkk),组合数,然后每次记录emplace_back用k

空间复杂度:O(n),递归

代码:

class Solution {
public:vector<vector<int>>ret;vector<int>path;void backtrack(int n, int k, int start){if(path.size() == k){ret.emplace_back(path);return;}// 剪枝,还需要k - path.size()个元素,即下标从n - (k - size) + 1for(int i = start; i <= n - (k - path.size()) + 1; i++){path.emplace_back(i);backtrack(n, k, i + 1);path.pop_back();}}vector<vector<int>> combine(int n, int k) {// 回溯,树形结构,从左到右// 确定返回类型和参数类型;终止条件;单层逻辑backtrack(n, k, 1);return ret;}
};

216. 组合总和 III

题目地址:216. 组合总和 III - 力扣(LeetCode)

题解思路:回溯,如注释

时间复杂度:O( C n k ∗ k C^k_n * k Cnkk),组合数,然后每次记录emplace_back用k

空间复杂度:O(n),递归

代码:

class Solution {
public:vector<vector<int>>ret;vector<int>path;void backtrack(int k, int n, int start, int sum){if(path.size() == k){if(sum == n){ret.push_back(path);}return ;}// 剪枝1, sum过大;剪枝2,还需要k - size个数字,下标从9 - (k - size) + 1开始if(sum > n){return;}if(start > 9 - (k - path.size()) + 1){return ;} // 单层for(int i = start; i <= 9; i++){path.emplace_back(i);backtrack(k, n, i + 1, sum + i);path.pop_back();}}vector<vector<int>> combinationSum3(int k, int n) {backtrack(k, n, 1, 0);return ret;}
};
http://www.15wanjia.com/news/167411.html

相关文章:

  • 杭州做企业网站淘宝推广运营
  • 盐城市规划建设局网站php商城网站建设
  • 上海网站建设公司哪个好中国镇江网站
  • 手机网站制作参考资料文献一条龙网站建设哪家专业
  • 音乐网站开发模板滦南网站建设
  • 一个服务器做一样的网站关于网站建设要花多少钱
  • 建设企业网站费用视频模板网站
  • 襄阳网站建设价格广告信息
  • 大同本地做网站的无极网站
  • 建网站需要备案吗网站建设有创意
  • 网站开发看什么书包装设计模板网站
  • 无锡公司网站制作网络规划设计师如何聘副高职称
  • 西安建立公司网站的步骤西安可以做网站的
  • 廊坊网站制作策划如何做个免费的网站
  • 怎么查自己的网站备案编号WordPress中文改英文版
  • 品牌网站建设小8蝌蚪开网店的流程及程序
  • 网站推广软件下载如何成为一个电商
  • 网站建设元网站建设打造营销型网站
  • 知名商城网站建设价格低装修效果图免费软件
  • 广州建立网站的公司2022年新项目加盟代理
  • 网站个人备案转企业备案wordpress+做的官网
  • html5网站后台网站做一个多少钱
  • 增城市网站建设联雅网站建设
  • 成都房地产网站建设网站建设必须要虚拟主机吗
  • 网站开发工具.晴天娃娃自己电脑做服务器网站
  • 网页设计公司官网功能图遵义做网站优化
  • php宠物用品公司网站源码WordPress切换标记
  • 学校类网站建设的分析用自己电脑配置服务器做网站
  • 百度网站ip地址m域名网站安全吗
  • 门户网站的基本特征a信息与服务网页编程html