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

广东建设注册中心网站网页qq邮箱怎么在手机下文件怎么打开wordpress

广东建设注册中心网站,网页qq邮箱怎么在手机下文件怎么打开wordpress,网站建设费分多少期摊销,上海建站模板厂家作者推荐 map|动态规划|单调栈|LeetCode975:奇偶跳 涉及知识点 单调栈 题目 给你一个整数数组 nums 和一个整数 threshold 。 找到长度为 k 的 nums 子数组#xff0c;满足数组中 每个 元素都 大于 threshold / k 。 请你返回满足要求的 任意 子数组的 大小 。如果没有这…作者推荐 map|动态规划|单调栈|LeetCode975:奇偶跳 涉及知识点 单调栈 题目 给你一个整数数组 nums 和一个整数 threshold 。 找到长度为 k 的 nums 子数组满足数组中 每个 元素都 大于 threshold / k 。 请你返回满足要求的 任意 子数组的 大小 。如果没有这样的子数组返回 -1 。 子数组 是数组中一段连续非空的元素序列。 示例 1 输入nums [1,3,4,3,1], threshold 6 输出3 解释子数组 [3,4,3] 大小为 3 每个元素都大于 6 / 3 2 。 注意这是唯一合法的子数组。 示例 2 输入nums [6,5,6,5,8], threshold 7 输出1 解释子数组 [8] 大小为 1 且 8 7 / 1 7 。所以返回 1 。 注意子数组 [6,5] 大小为 2 每个元素都大于 7 / 2 3.5 。 类似的子数组 [6,5,6] [6,5,6,5] [6,5,6,5,8] 都是符合条件的子数组。 所以返回 2, 3, 4 和 5 都可以。 提示 1 nums.length 105 1 nums[i], threshold 109 枚举子数组的最小值 以nums[i]为最小值的左边界是从右向左第一个小于nums[i]的数假定其下标为left。如果不存在,left为-1。 以nums[i]为最小值的右边界是从左向右第一个小于等于nums[i]的数假定其下标为right。如果不存在,right为m_c。 则nums(left,right)是以nums[i]为最小值的最长子数组。显然相同最小值子数组越长越容易符合题目。只需验证最长子数组。 代码 核心代码 class Solution { public:int validSubarraySize(vectorint nums, int threshold) {m_c nums.size();vectorint vLeft(m_c, -1), vRight(m_c, m_c);//vLeft[i] 从右向左第一个小于nums[i] ;vRight[i] 是第一个小于等于nums[i]。stackint sta;for (int i 0; i m_c; i){while (sta.size() (nums[sta.top()] nums[i])){vRight[sta.top()] i;sta.pop();}if (sta.size()){vLeft[i] sta.top();}sta.emplace(i);}for (int i 0; i m_c; i){const int k vRight[i] - vLeft[i] - 1;if ((k 0) (nums[i] threshold / k)){return k;}}return -1;}int m_c; };测试用例 templateclass T void Assert(const T t1, const T t2) {assert(t1 t2); }templateclass T void Assert(const vectorT v1, const vectorT v2) {if (v1.size() ! v2.size()){assert(false);return;}for (int i 0; i v1.size(); i){Assert(v1[i], v2[i]);} }int main() {vectorint nums;int threshold;{Solution slu;nums { 1, 3, 4, 3, 1 }, threshold 6;auto res slu.validSubarraySize(nums, threshold);Assert(3, res);}{Solution slu;nums { 6,5,6,5,8 }, threshold 7;auto res slu.validSubarraySize(nums, threshold);//Assert(1, res);}//CConsole::Out(res); }2023年3月版 bool Less(const std::pairint, int p, int iData) { return p.first iData; } class Solution { public: int validSubarraySize(vector nums, int threshold) { m_c nums.size(); vector vLeft(m_c), vRight(m_c); { vectorpairint, int vStack; for (int i 0; i m_c; i) { int iNum std::lower_bound(vStack.begin(), vStack.end(), nums[i], Less) - vStack.begin(); if (0 iNum) { vLeft[i] -1; } else { vLeft[i] vStack[iNum - 1].second; } while (vStack.size() (nums[i] vStack.back().first)) { vStack.pop_back(); } vStack.emplace_back(nums[i], i); } } { vectorpairint, int vStack; for (int i m_c - 1; i 0;i–) { int iNum std::lower_bound(vStack.begin(), vStack.end(), nums[i]1, Less) - vStack.begin(); if (0 iNum) { vRight[i] m_c; } else { vRight[i] vStack[iNum - 1].second; } while (vStack.size() (nums[i] vStack.back().first)) { vStack.pop_back(); } vStack.emplace_back(nums[i], i); } } for (int i 0; i m_c; i) { const int len vRight[i] - vLeft[i] - 1; if (nums[i] threshold / len) { return len; } } return -1; } int m_c; }; 2023年7月版 class Solution { public: int validSubarraySize(vector nums, int threshold) { m_c nums.size(); vector vLeft(m_c), vRight(m_c); {//计算左边的长度 stackpairint, int staValueIndex; for (int i 0; i m_c; i) { while (staValueIndex.size() (staValueIndex.top().first nums[i])) { staValueIndex.pop(); } vLeft[i] staValueIndex.empty() ? i : (i - staValueIndex.top().second - 1); staValueIndex.emplace(nums[i], i); } } {//计算右边的长度 stackpairint, int staValueIndex; for (int i m_c-1 ; i 0 ; i-- ) { while (staValueIndex.size() (staValueIndex.top().first nums[i])) { staValueIndex.pop(); } vRight[i] staValueIndex.empty() ? m_c-1-i : ( staValueIndex.top().second - i - 1); staValueIndex.emplace(nums[i], i); } } int iRet -1; for (int i 0; i m_c; i) { const int len vLeft[i] vRight[i]1; const int iNeedK threshold / nums[i] 1; if (len iNeedK){iRet max(iRet, len);}}return iRet; } int m_c;}; 扩展阅读 视频课程 有效学习明确的目标 及时的反馈 拉伸区难度合适可以先学简单的课程请移步CSDN学院听白银讲师也就是鄙人的讲解。 https://edu.csdn.net/course/detail/38771 如何你想快 速形成战斗了为老板分忧请学习C#入职培训、C入职培训等课程 https://edu.csdn.net/lecturer/6176 相关 下载 想高屋建瓴的学习算法请下载《喜缺全书算法册》doc版 https://download.csdn.net/download/he_zhidan/88348653 我想对大家说的话闻缺陷则喜是一个美好的愿望早发现问题早修改问题给老板节约钱。子墨子言之事无终始无务多业。也就是我们常说的专业的人做专业的事。如果程序是一条龙那算法就是他的是睛 测试环境 操作系统win7 开发环境 VS2019 C17 或者 操作系统win10 开发环境 VS2022 C17 如无特殊说明本算法用C 实现。
http://www.pierceye.com/news/663235/

相关文章:

  • 设计创意广告上海企业网站优化
  • 自己做网站需要购买服务器吗WordPress文章相册修改
  • 校园招聘哪个网站做的好学做川菜网站
  • 大足网站建设公司医院网站建设熊掌号
  • 做网站编辑是不是也要做推广做蛋白go分析网站
  • 免费品牌网站制作云南电商网站建设
  • 宿迁莱布拉网站建设常州做网站建设的公司
  • 广东网站建站系统哪家好常州网站搭建公司
  • 400网站建设推广软件工程师工资
  • 专门做正品的网站手机版深圳市门户网站建设怎么样
  • 做外贸比较好的网站有哪些北京短视频代运营
  • 建站公司学习筑梦网站建设
  • 手工艺品网站建设侧胡顺个人简历表格可填写
  • 电商网站竞价推广策略淘宝做问卷的网站
  • 门窗 东莞网站建设婚庆公司收费标准
  • 网站页面下沉的特效代码网络建设存在的问题
  • 给网站做维护是什么工作网页怎么赚钱
  • 三丰云做游戏网站win主机安装wordpress
  • 网站建设黄荣vuejs做视频网站设计
  • 手机怎样下载安装建设银行网站企业通过网络推广成功的案例
  • 门户网站开发工具软件哪个公司的网络最好用
  • 河南省住房和城乡建设厅查询网站首页舆情网站推荐
  • 网页设计是网站建设与管理的内容吗公司网络营销的方案思路
  • 商业授权网站标题优化技巧
  • 班级网站做哪些方面阿里云市场网站建设
  • 2345网站登录电子工程师有前途吗
  • 网站建设企业邮箱制作网站山东平台网站建设制作
  • 仿新浪微博网站代码国家高新技术企业公示
  • 遵义网站建设公司电话多少成都网站优化seo
  • 宝安网站设计排名网站建设收费标准资讯