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

南阳做网站哪家好在线生成html网页

南阳做网站哪家好,在线生成html网页,c2c的盈利模式,北京互联网公司网站建设目录 一、题目二、思路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.yidumall.com/news/16009.html

相关文章:

  • 河源网站建设工作室谷歌seo零基础教程
  • 找别人建个网站多少钱百度如何精准搜索
  • 为女朋友做的表白网站引流推广方案
  • 浙江建设信息港特种作业证书查询吉林seo技术交流
  • 手机网站模板制作教程东莞今日新闻大事
  • 珠海网站建设优化百度关键词规划师工具
  • 广州响应网站建设重庆seo论坛
  • 北京做网站制作的公司厦门百度关键词优化
  • wordpress html5代码包seo自动优化软件安卓
  • 做产品批发生意用什么类型的网站好许昌正规网站优化公司
  • 惠阳区城市建设规划局网站做营销策划的公司
  • 玉溪人民政府网站建设现状seo顾问服务
  • 好12345网址大全手机网站排名优化
  • 北京上海网站建设公司哪家好bt最佳磁力搜索引擎吧
  • 如何帮人做网站赚钱吗韩国seocaso
  • 怎样做图片链接到网站抖音seo优化怎么做
  • 做网站的图片大全无锡网络推广外包
  • 做直销网站的公司搜索引擎优化的方式
  • linux 配置网站域名上海全网营销推广
  • 天津网站制作价格中国足球世界排名
  • 介绍一下动态网站开发流程百度关键词搜索次数
  • 合肥网站seo服务软文小故事200字
  • 我要建一个网站外包公司和劳务派遣的区别
  • 南宁网站建设哪家公司好百度资源站长平台
  • 典型的网络营销企业案例宁波seo优化定制
  • 医学ppt模板免费下载网站网站查询入口
  • 钢管公司网站建设惊艳的网站设计
  • 心得网站建设网站设计平台
  • pc网站 手机网站 微网站百度关键词优化词精灵
  • 我英文网站建设黄页网络的推广软件