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

房产中介网站建设技巧空间网站

房产中介网站建设技巧,空间网站,网站开发后如何维护,网络广告的发布方式包括目录 一、题目二、思路2.1 解题思路2.2 代码尝试2.3 疑难问题2.4 代码复盘 三、解法四、收获4.1 心得4.2 举一反三 一、题目 二、思路 2.1 解题思路 滑动窗口 2.2 代码尝试 class Solution { public:int longestSubarray(vector<int>& nums, int limit) {int cou…

目录

  • 一、题目
  • 二、思路
    • 2.1 解题思路
    • 2.2 代码尝试
    • 2.3 疑难问题
    • 2.4 代码复盘
  • 三、解法
  • 四、收获
    • 4.1 心得
    • 4.2 举一反三

一、题目

在这里插入图片描述

二、思路

2.1 解题思路

滑动窗口

2.2 代码尝试

class Solution {
public:int longestSubarray(vector<int>& nums, int limit) {int count=0;int max_li=0;int maxlength=0;int r=0;for(int l=0;l<nums.size();l++){//当左边界固定时,不断往右扩展max_li=0;//置零if(r==nums.size()-1){return maxlength;}//窗口先一直滑动到满足条件的边界while(r<nums.size()-1 &&  max_li<=4){++r;max_li=max(max_li,abs(nums[r]-nums[l]));}maxlength=max(maxlength,r-l);}return 0;}
};

感觉对滑动窗口本质还是有点不理解,往哪里滑动然后while就应该怎么写

2.3 疑难问题

2.4 代码复盘

你在代码中使用 max_li 来记录当前窗口内的最大差值,但你在每次左边界移动时都将 max_li 重置为 0。这会导致你在计算窗口内的差值时丢失之前的信息。确实,这个置零有点笨重了。
你的算法时间复杂度较高。每次左边界移动时,右边界都从当前位置重新开始扩展,这会导致时间复杂度为 O(n^2)。你可以使用滑动窗口结合单调队列来优化时间复杂度到 O(n)。

三、解法

class Solution {
public:int longestSubarray(vector<int>& nums, int limit) {multiset<int> s;int n = nums.size();int left = 0, right = 0;int ret = 0;while (right < n) {s.insert(nums[right]);while (*s.rbegin() - *s.begin() > limit) {s.erase(s.find(nums[left++]));}ret = max(ret, right - left + 1);right++;}return ret;}
};作者:力扣官方题解
链接:https://leetcode.cn/problems/longest-continuous-subarray-with-absolute-diff-less-than-or-equal-to-limit/solutions/612688/jue-dui-chai-bu-chao-guo-xian-zhi-de-zui-5bki/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

四、收获

4.1 心得

红黑树能存最大最小值。能够快速找到最大值和最小值。感觉被上一道变体题目给搞乱了,这题也是个模板,但就是做不出来了。

4.2 举一反三

不定长滑动窗口的模板

int slidingWindow(vector<int>& nums, int limit) {int left = 0;          // 窗口左边界int result = 0;        // 存储最终结果// 其他需要维护的变量(如哈希表、单调队列等)for (int right = 0; right < nums.size(); ++right) {// 扩展窗口:将 nums[right] 加入窗口// 更新窗口内的状态(如哈希表、单调队列等)while (/* 窗口不满足条件 */) {// 收缩窗口:将 nums[left] 移出窗口// 更新窗口内的状态++left; // 移动左边界}// 窗口满足条件时,更新结果result = max(result, right - left + 1);}return result;
}

在滑动窗口算法中,while (/* 窗口不满足条件 */) 的作用是 收缩窗口,以确保窗口内的元素始终满足题目要求的条件。这是滑动窗口算法的核心逻辑之一。
使用 while 可以确保窗口内的元素始终满足条件,从而保证结果的正确性。

http://www.yayakq.cn/news/341599/

相关文章:

  • 长垣住房和城乡建设局 网站网址你懂我意思正能量晚上免费软件下载
  • 西安做网站优化的公司冠县哪做网站
  • 珠海网站网站建设外贸推广公司
  • 网站特殊字体tp框架做网站xml地图
  • 企业网站建设方案大全有没有什么专业做美业的网站
  • 怎么在网站底部做备案号现在做一个网站最少要多少钱
  • 服务器做网站哪个系统好2023年央选职位表
  • 网站广告调词平台wordpress的视频封面能动
  • 建立网站需要多少钱稻挺湖南岚鸿有名wordpress相册插件中文
  • 网站更改了资料 百度什么时侯来抓取网站开发颜色代码
  • python做网站 jsp网站公司网站建设费用怎么记账
  • 游戏网站建设方案百度文库开发公司工程部
  • 游戏网站的建设wordpress 模版教程
  • 使用iframe做网站wordpress做app
  • 楚雄网站开发港北网站建设
  • 合肥网站建设外包天津网站建设解决方案
  • 自己做网站需要主机吗画册印刷价格
  • wordpress建站是什么意思维修报价单模板
  • 网站建设合同标准范本天津市中小企业局网站
  • 怎么用frontpage做网站绵阳市建设工程监督网站
  • 建设专业网站上海市建设工程材料网站
  • 村建站什么部门广州app定制公司
  • 花生棒 做网站对于网站建设提出建议
  • 网站推广苏州新手怎么学习网站建设
  • 做招牌的网站有哪些seo博客是什么意思
  • 西安有关做网站的公司wordpress 教学
  • 服装网站建设定制制作个人网站怎么做
  • 连云港市城乡建设局网站高效的客户管理crm系统
  • 越秀营销型网站息县网站建设公司
  • nginx wordpress站长工具seo综合查询收费吗