#算法和数据结构
文章平均质量分 87
以leetcode刷题实践为积累,总结和整理刷题思路。
huihui_8
嵌入式
展开
-
双指针技巧总结
1.介绍双指针,指的是在遍历对象的过程中,使用两个相同方向(快慢指针)或者相反方向(对撞指针)的指针进行扫描,从而达到相应的目的。经常用在数组和链表数据结构中, 双指针算法通常不难,双指针算法是基于暴力解法的优化,它们是很好的学习算法的入门问题。 双指针在平时运用中,一般分为两类,“快慢指针”,用于解决链表中的问题;“左右指针”,用于解决数组中的问题,比如二分搜索。2.快慢指针快慢指针,一般会初始化链表的头结点head,快指针fast在前,慢指针slow在后,通过指针移动,来解决链表中的问...原创 2022-01-06 11:05:25 · 156 阅读 · 0 评论 -
二分查找算法详解
1.介绍 二分查找。也成折半查找(Binary Search),它是一种效率较高的查找方法,实现原理简单,但细节相对 复杂的算法。关于二分查找,有个经典的理解,思路很简单,细节是魔鬼 。 二分查找的常用场景一般包括:寻找一个数、寻找左侧边界、寻找右侧边界。而细节,主要体现在, while循环中用 < 还是 <= , mid 是否应该加1等。 下面从常用场景,结合 leetcode 题目,简单介绍下。 2. 寻找一个数 这是最简单的二分查找...原创 2021-12-29 17:26:45 · 1628 阅读 · 0 评论