- 博客(4)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 滑动窗口
思路:在滑动窗口类型的问题中都会有两个指针。一个用于延伸现有窗口的right指针,和一个用于收缩窗口的left指针。在任意时刻,只有一个指针运动,而另一个保持静止。 https://leetcode-cn.com/problems/minimum-window-substring/solution/hua-dong-chuang-kou-suan-fa-tong-yong-si-xiang-by-/ https://labuladong.gitbook.io/algo/ https://l...
2020-07-01 20:07:22
99
原创 正则表达式匹配
思路一:回溯法 这种匹配思路其实就是不断地减掉s和p的可以匹配首部,直至一个或两个字符串被减为空的时候,根据最终情况来得出结论。 如果只是两个普通字符串进行匹配,按序遍历比较即可: if( s.charAt(i) == p.charAt(i) ) 如果正则表达式字符串p只有一种"."一种特殊标记,依然是按序遍历比较即可 : if( s.charAt(i) == p.charAt(i) || p.charAt(i) == '.' ) 上述两种情况实现时还需要判断字符串长度和字符串判空的操作。 但是
2020-07-10 15:22:36
96
原创 算法 概述
从整体到细节,自顶向下,从抽象到具体的框架思维是通用的,不只是学习数据结构和算法,学习其他任何知识都是高效的 下面讲解咯数据结构存储方式和访问方式 一、数据结构的存储方式 数据结构的存储方式只有:数组(顺序存储)和链表(链式存储)。 这句话怎么理解,不是还有散列表、栈、队列、堆、树、图等等各种数据结构吗? 我们分析问题,一定要有递归的思想,自顶向下,从抽象到具体。你上来就列出这么多,那些都属于「上层建筑」,而数组和链表才是「结构基础」。因为那些多样化的数据结构,究其源头,都是在链表或者数组上的特殊
2020-07-02 13:45:33
202
原创 回溯算法
从全排列问题开始理解「回溯」算法(深度优先遍历 + 状态重置 + 剪枝) 请读者带着以下问题理解回溯搜索算法的思想。 1、什么是“树形问题”?为什么为什么是在树形问题上使用“深度优先遍历”?不用深度优先遍历我们还可以用什么? 2、什么是“回溯”?为什么需要回溯? 3、不回溯可以吗? 首先介绍“回溯”算法的应用。“回溯”算法也叫“回溯搜索”算法,主要用于在一个庞大的空间里搜索我们所需要的问题的解。我们每天使用的“搜索引擎”就是帮助我们在庞大的互联网上搜索我们需要的信息。“搜索”引擎的“搜索”和“回溯搜索
2020-07-02 11:04:37
279
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人