文章 2023-08-18 来自:开发者社区

第 6 天_滑动窗口【算法入门】

3. 无重复字符的最长子串3. 无重复字符的最长子串 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: s = "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。 示例 3: 输入: .....

第 6 天_滑动窗口【算法入门】
文章 2023-08-07 来自:开发者社区

【滑动窗口】算法实战

一、算法原理 滑动窗口,顾名思义,就是有一个大小可变的窗口,左右两端方向一致的向前滑动(右端固定,左端滑动;左端固定,右端滑动)。 滑动窗口的本质其实也是一种双指针算法,它是根据单调性的思想,使用”同向双指针“,索引字符串或者列表中的一个区间[left,right]。 滑动窗口的步骤一般如下所示: 1、在序列中使用双指针中的左右指针技巧,初始化 left = right = 0...

【滑动窗口】算法实战
文章 2023-07-07 来自:开发者社区

滑动窗口算法的基本思想、应用场景、实现方法、时间复杂度和常见问题

1. 简介 滑动窗口算法(Sliding Window)是一种常用的双指针算法,被广泛应用于字符串和数组等数据结构中的子串或子数组问题,例如字符串匹配、最长子串、最小覆盖子串等问题。滑动窗口算法可以优化暴力枚举的时间复杂度,使得算法的执行效率更高。 本文将详细介绍滑动窗口算法的基本思想、应用场景、实现方法、时间复杂度和常见问题...

文章 2023-06-12 来自:开发者社区

滑动窗口算法

滑动窗口的概念滑动窗口算法也是一种思想,是双指针的拓展和延伸。   滑动:说明这个窗口是移动的,也就是移动是按照一定方向来的。     窗口:窗口大小并不是固定的,可以不断扩容直到满足一定的条件;也可以不断缩小,直到找到一个满足条件的最小窗口;当然也可以是固定大小。适用场景 滑动窗口主要应用在数组和字符串上 ,在一个特定大小的字符串或数组上进行操作,而不在整个字符串....

滑动窗口算法
文章 2023-05-18 来自:开发者社区

【滑动窗口】滑窗模板,在小小的算法题里滑呀滑呀滑

首先大家先喊出我们的口号:跟着模板搞,滑窗没烦恼!一.什么是滑动窗口?滑动窗口算法是双指针算法的一种特定化的算法模型,常用于在特定的条件下求最大或者最小的字符串,特定的数组,以及字符序列等相关问题,使用滑动窗口的目的也很简单:使原本需要使用双循环嵌套来解决的问题通过双指针来解决,从而使时间复杂度大大降低(一般而言是将O(n^2)的时间复杂度降至O(n))二.滑动窗口的框架和模板做滑动窗口题目的痛....

【滑动窗口】滑窗模板,在小小的算法题里滑呀滑呀滑
文章 2022-11-24 来自:开发者社区

【数据结构与算法】之回溯、滑动窗口、分治算法经典问题

一、回溯算法回溯算法要做的事情很基础,就是穷举,可以说就是暴力穷举。解决回溯问题,实际上就是对一个决策树的遍历过程。回溯,我们可以这么理解,比如我们走迷宫,沿着一条路,走到底发现是思路,就要回到原来的出发点,再次选择一条新的路劲,其实这就是回溯。在回溯的过程中,需要注意以下几点:(1)路径(2)选择的列表(3)结束条件1️⃣全排列问题给定一个不含重复数字的数组 nums,返回其所有可能的全排列。....

【数据结构与算法】之回溯、滑动窗口、分治算法经典问题
文章 2022-11-09 来自:开发者社区

面试常见问题-限流策略有哪些,滑动窗口算法和令牌桶区别,使用场景

参考思路:限流算法常用的几种实现方式有如下四种:计数器、滑动窗口、漏桶和令牌桶;● 计数器:○ 思想:在固定时间窗口内对请求进行计数,与阀值进行比较判断是否需要限流,一旦到了时间临界点,将计数器清零。○ 问题:计数器算法存在“时间临界点”缺陷。比如每一分钟限制100个请求,可以在00:00:00-00:00:58秒里面都没有请求,在00:00:59瞬间发送100个请求,这个对于计数器算法来是允许....

文章 2022-06-13 来自:开发者社区

Sentinel-Go 源码系列(三)滑动时间窗口算法的工程实现

要说现在工程师最重要的能力,我觉得工程能力要排第一。就算现在大厂面试经常要手撕算法,也是更偏向考查代码工程实现的能力,之前在群里看到这样的图片,就觉得很离谱(大概率是假的~)。算法与工程实现在 Sentinel-Go 中,一个很核心的算法是流控(限流)算法。流控可能每个人都听过,但真要手写一个,还是有些困难。为什么流控算法难写?以我的感觉是算法和工程实现上存在一定差异,虽然算法好理解,但却没法照....

Sentinel-Go 源码系列(三)滑动时间窗口算法的工程实现
文章 2022-05-26 来自:开发者社区

java基础-滑动窗口算法

正文小伙伴们,你们好呀!我是老寇!跟我看两道题删除有序数组中的重复项Iclass Solution { public int removeDuplicates(int[] nums) { int len = nums.length; if(len < 2) return len; int j = 0; for(int i = 0; i...

java基础-滑动窗口算法
文章 2022-05-16 来自:开发者社区

滑动窗口算法总结及相关例题

这里标注一下,本文参考于 《labuladong的算法小抄》1. 算法思想1.1 思想滑动窗口,顾名思义:滑动的窗口,其实就是使用双指针进行维护一个窗口。经过相关题目的练习,可以得出该窗口大小有固定大小的例题,也有不固定大小的例题。我们要根据相应的题目进行分析。而如果窗口是固定大小的,我们一般会根据窗口大小要超越固定大小而进行缩小窗口。而不是固定大小的窗口的就根据题目具体意思进行相应的窗口缩小。....

滑动窗口算法总结及相关例题

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

智能引擎技术

AI Online Serving,阿里巴巴集团搜推广算法与工程技术的大本营,大数据深度学习时代的创新主场。

+关注