算法
文章平均质量分 85
面试和平时会用到的一些算法
liulangzhehwm
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
算法数据结构——滑动窗口
在上面的流程中,我们还需要使用一种数据结构来判断 是否有重复的字符,常用的数据结构为哈希集合(即 C++ 中的 std::unordered_set,Java 中的 HashSet,Python 中的 set, JavaScript 中的 Set)。在每一步的操作中,我们会将左指针向右移动一格,表示 我们开始枚举下一个字符作为起始位置,然后我们可以不断地向右移动右指针,但需要保证这两个指针对应的子串中没有重复的字符。在移动结束后,这个子串就对应着 以左指针开始的,不包含重复字符的最长子串。原创 2024-07-04 20:20:13 · 968 阅读 · 0 评论 -
算法数据结构——双指针
双指针是一种应用很广泛且基础的编程技巧,双指针中的“指针”是指。原创 2024-07-04 19:37:59 · 824 阅读 · 0 评论 -
算法数据结构——二分法
是指将一个有序的数列中查找等一种比较快速的方法。做法是先找出数列中的中间值(mid,注:mid是指middle),判断是否符合条件,如果符合,就按照题目意思将范围增大或减小(l,r是起点和终点,范围增大是l=mid+1;(或不加1,根据题目意思来),范围减小是r=mid-1;(或不减1,根据题目意思来))。然后就会得到一段新的数列(因为l,r的值变了),重复以上步骤,。:1~100这些数,找1这个数,第一次1 ~100,中间值是50,1比50小。第二次1 ~50,中间值是25,1比25小。原创 2024-07-03 22:00:06 · 721 阅读 · 0 评论 -
python:刷leetcode基本知识
Python中的列表是一种有序的集合,可以随时添加和删除其中的元素。Python中的字典是一种非常灵活的数据结构,它允许你将键映射到值。这些操作是列表的基本操作,你可以根据自己的需求进行相应的操作。这些操作是字典的基本操作,你可以根据自己的需求进行相应的操作。原创 2024-07-02 21:18:12 · 151 阅读 · 0 评论 -
算法数据结构——哈希表
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。原创 2024-07-02 21:17:20 · 291 阅读 · 0 评论 -
算法数据结构——回溯
回溯法也可以叫做回溯搜索法,它是一种搜索的方式。在二叉树系列中,对二叉树的三种递归遍历,不止一次提到了回溯,回溯是递归的副产品,只要有递归就会有回溯。PS1: 回溯函数也就是递归函数,指的都是一个函数PS2:别看回溯法很难,但回溯法就是暴力解法+剪枝操作,回溯就是暴力破解,一个好的回溯算法的核心竞争力的在于剪枝操作,不断优化整个暴力破解的效率回溯法的性能如何呢?原创 2024-07-02 12:56:51 · 1027 阅读 · 0 评论 -
算法数据结构——贪心算法
算法数据结构——贪心算法。原创 2024-06-29 13:59:53 · 1036 阅读 · 0 评论 -
算法数据结构——动态规划算法
动态规划(Dynamic Programming):简称DP,是一种求解多阶段决策过程最优化问题的方法。在动态规划中,通过把原问题分解为相对简单的子问题,先求解子问题,再由子问题的解而得到原问题的解。动态规划最早由理查德 · 贝尔曼于 1957 年在其著作「动态规划(Dynamic Programming)」一书中提出。这里的 Programming 并不是编程的意思,而是指一种「表格处理方法」,即将每一步计算的结果存储在表格中,供随后的计算查询使用。原创 2024-06-29 13:41:12 · 989 阅读 · 0 评论
分享