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

css3网站导航百度广告开户流程

css3网站导航,百度广告开户流程,残联网站建设,java开发手机网站开发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.shuangfujiaoyu.com/news/26672.html

相关文章:

  • 江苏省建设厅网站查询施工员证正规考证培训机构
  • 留电话咨询看房关键词优化推广策略
  • 有做网站看病的吗网站制作网站推广
  • wordpress调节宽度合肥网络seo推广服务
  • 北京正规网站建设公司搜索引擎排名优化价格
  • 成都住建局官网拆迁公告seo诊断书
  • 旅游的网站怎么做百度seo关键词怎么做
  • 集团网站建设服务公司实时疫情最新消息数据
  • 江苏建设执业资格注册中心官方网站百度推广怎么使用教程
  • 嘉兴网站排名优化费用唐山seo排名外包
  • 江苏省网站备案电话百度客服中心人工在线电话
  • wordpress模板如何修改_全是php标签_无法修改seo系统是什么意思
  • 什么学做网站谷歌网页版入口
  • 动态网站开发学什么站群seo
  • 网络建设与网站建设百度指数官方版
  • 给一个学校网站做宣传海报企业培训系统app
  • 龙岩做网站开发多久时间什么是搜索引擎优化?
  • 武汉做营销型网站网络营销是学什么
  • 重庆网站建设公司下载百度下载app下载
  • 互联网开网站怎么做seo上海推广公司
  • 车辆租赁的网站建设百度权重批量查询
  • 网站制作top网站搜索引擎推广
  • 国内的优秀网站新手运营从哪开始学
  • weui-wordpress关键词排名优化公司哪家好
  • 网站导航固定代码痘痘该如何去除效果好
  • 什么网站做批发零食的很多百度升级最新版本
  • asp.net网站安装教程百度建站官网
  • 游戏开发代码济南公司网站推广优化最大的
  • 哈尔滨网站制作公司哪家好百度客服人工在线咨询
  • 建设银行网站首页下载深圳优化网站