【算法】双指针及其使用场景
什么时候用双指针?引用在我们遇到像数组,链表这类数据结构的算法题目的时候,应该要想得到双指针的套路来解决问题。特别是链表类的题目,经常需要用到两个或多个指针配合来记忆链表上的节点,完成某些操作。链表这种数据结构也是树形结构和图的原型,所以有时候在关于图和树形结构的算法题目中也会用到双指针。当你遇到此类数据结构,尝试使用双指针来解题的时候,可以从以下几个双指针类题目的套路入手进行思考。快慢指针类似....
双指针算法、位运算
双指针算法模板: for (int i = 0, j = 0; i < n; i ++ ){while (j < i && check(i, j)) j ++ ;// 具体问题的逻辑} 常见问题分类:(1) 对于一个序列,用两个指针维护一段区间(2) 对于两个序列,维护某种次序,比如归并排序中合并两个有序序列的操作最长连续不重复子序列https://...
870. 优势洗牌:田忌赛马:贪心算法+双指针
题目描述这是 力扣上的 870. 优势洗牌,难度为 中等。题目分析题目给出的 nums1 和 nums2 ,要我们从 nums1 中找到大于 nums2 的数,并逐个配对,找出让 nums1 优势最大的配对情况对于这个情况隐隐约约是想到了小学学的田忌赛马,没想到今天还用上了,如果不知道这个典故的,可以自行搜索对于分析这个题,咱们是可以知道,其实就是在 nums1 中找到尽可能多的数字比 nums....

数据结构与算法 #18 下跳棋,极富想象力的同向双指针模拟
⭐️ 本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 和 [BaguTree Pro] 知识星球提问。学习数据结构与算法的关键在于掌握问题背后的算法思维框架,你的思考越抽象,它能覆盖的问题域就越广,理解难度也更复杂。在这个专栏里,小彭将基于 Java / Kotlin 语言,为你分享常见的数据结构与算法问题,及其解题框架思路。本文是数据结构与算法系列的第 18....

牛客网《剑指offer》专栏刷题练习之双指针算法的使用
前言今天带大家来学习算法中双指针的应用场景,所选题目来自牛客网 —— 免费的面试刷题神器。牛客网界面:剑指offer题目专栏界面:一、最长不含重复字符的子字符串1、题目要求2、个人题解2.1、解题思路利用双指针,定义一个指针i和一个指针j让i开始走,固定住j,然后我们利用一个辅助数组来记录下每个字符出现的次数。比如对于字符串“abcabcdd”,当i走到第二个a的时候,a出现了两次,这时候让j开....

从小白开始刷算法 双指针篇 leetcode.344
344. 反转字符串编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。示例 1:输入:s = [“h”,“e”,“l”,“l”,“o”]输出:[“o”,“l”,“l”,“e”,“h”]示例 2:输入:s = [“H”,“a”,“n”,“n”,“a”,“h”]输出:[“....
从小白开始刷算法 双指针篇 leetcode.141
141. 环形链表给你一个链表的头节点 head ,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。注意:pos 不作为参数进行传递 。仅仅是为了标识链表的实际情况。如果链表中存在环 ,则返回 true 。 否则,返回 false 。示例....
从小白开始刷算法 双指针篇 leetcode.881
881. 救生艇给定数组 people 。people[i]表示第 i 个人的体重 ,船的数量不限,每艘船可以承载的最大重量为 limit。每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit。返回 承载所有人所需的最小船数 。示例 1:输入:people = [1,2], limit = 3输出:1解释:1 艘船载 (1, 2)示例 2:输入:people = [3,2,2,1]....
【C++算法图解专栏】一篇文章带你掌握尺取法(双指针)
尺取法(双指针)这一讲我们来介绍一个非常常用的算法 —— 尺取法,一般称为双指针算法,下文也将用这种说法。这种算法应用场景挺广,在很多题目中只是作为解出题目的其中一个关键部件,下面我将给没接触过的小伙伴详细讲解,会从模板题入手,不会直接上综合题,这点大家放心~原理双指针算法是一个优化算法,注意解决一些区间相关的问题,它可以将一个双循环优化成一个单循环,即将 O(n2) 的时间复杂度讲到 O(n)....

[蓝桥杯 2018 省 B] 日志统计——双指针算法
题目描述小明维护着一个程序员论坛。现在他收集了一份“点赞”日志,日志共有 N 行。其中每一行的格式是 ts id,表示在 ts 时刻编号 id 的帖子收到一个“赞”。现在小明想统计有哪些帖子曾经是“热帖”。如果一个帖子曾在任意一个长度为 DD 的时间段内收到不少于 K 个赞,小明就认为这个帖子曾是“热帖”。具体来说,如果存在某个时刻 TT满足该帖在 [T,T+D) 这段时间内(注意是左闭右开区间....
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
智能引擎技术
AI Online Serving,阿里巴巴集团搜推广算法与工程技术的大本营,大数据深度学习时代的创新主场。
+关注