算法学习
文章平均质量分 96
主要记录自己从头开始学习算法相关知识和习题代码的内容,也给大家提供一个参考,一起加油,共勉!
Hermione'
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
双指针相关LeetCode真题解题思路
(即应该移动数字较大的指针还是数字较小的)初始面积area=(left - right) * min(height[left], height[right])。由于我们的左右指针是相对而行的,(left - right)必然是递减的。此时我们考虑。原创 2024-08-20 20:40:46 · 793 阅读 · 0 评论 -
哈希相关LeetCode真题解题思路第二篇
思路:首先对出现的单词进行划分,得到输入的字符串中的单词列表,并使用HashSet存储禁用词列表,然后使用HashMap存储出现的单词(key)和出现的次数(value),需要对单词进行判断,如果不在禁用词列表中就存到HashMap中,并对频次进行计数。也可以建立一个长度为26的数组table记录字符出现的频次,先遍历字符串s,记录s中字符出现的频次,然后再遍历字符串t,减去table中对应的频次,如果出现table[i] < 0,说明出现了不同的字符,不是字母异位词。,返回出现频率最高的非禁用词。原创 2024-08-12 11:21:16 · 1091 阅读 · 0 评论 -
数组相关及LeetCode题分享之移除元素
主要是考察对双指针包含快慢指针,左右指针的用法,以及在遇到问题时具体要使用哪种指针来解题。原创 2024-04-28 15:33:43 · 1216 阅读 · 1 评论 -
哈希相关LeetCode真题题解思路
思路1:根据题中给出的实例,我们可以从左到右一一列举符合条件的结果,从第一个位置a开始最长不含有重复字符的字符串为abc,从b开始为bca,依次类推,可以发现如果我们依次递增枚举子串的开始位置,那么子串的结束位置也是递增的。原因为,如果选择字符串中的第m个位置为开始位置,得到一个不包含重复字符的最长子串的结束位置为n,那么选择第m+1个字符作为起始位置时,从m+1到n的字符很显然是不重复的,并且由于去掉了原本的第m个字符,可以尝试继续增大n,直到右侧出现了重复字符为止。此时不满足要求,所以要。原创 2024-08-10 16:36:43 · 960 阅读 · 0 评论 -
数组相关及LeetCode题分享之二分查找
1. 数组相关知识:数组是存放在连续内存空间上的相同类型数据的集合。数组可以通过下标索引的方式获取到下标对应的数据。注意:数组下标都是从0开始的,数组在内存中的空间地址是连续的。也正是由于数组在内存中的空间地址是连续的,所以在进行元素的删除和添加的时候,就要移动其他元素的地址,并且数组中的元素是不能删除的,只能覆盖。在Java中,数组(Array)的内存空间是连续的(注意这里是虚拟内存)。原创 2024-04-25 11:14:01 · 775 阅读 · 1 评论
分享