
数组算法
文章平均质量分 90
自首的小偷
这个作者很懒,什么都没留下…
展开
-
面试必刷算法TOP101之哈希篇 TOP19
字母异位词分组题目来源:leetcode1、问题描述给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。字母异位词 是由重新排列源单词的字母得到的一个新单词,所有源单词中的字母通常恰好只用一次。2、思路解析思路一:暴力破解双循环判断当前字符串和后边的字符串是不是字母异位词,内判断当前字符串就是一次循环,还有判断是不是异位词,也要一次循环时间复杂度接近O(N^3),虽然说思想是哈希但是,时间复杂度太高了。还有每次取完数据还要一次排序。思路二:字符串排序为键值+哈希原创 2022-04-29 19:06:27 · 1416 阅读 · 40 评论 -
面试必刷算法TOP101之限流算法(定长滑动窗口)问题 TOP18
上一篇介绍的也是滑动窗口详细请看这里,窗口是不断变化的,这里介绍的定长滑动窗口,窗口大小固定不变的。这里还是用一套思想解决这一类问题思路如下:定长窗口是不需要收敛的,因为长度固定,当窗口达到条件时,begin然后收缩一次窗口,end也往后移动一位为了保存窗口的大小不变,然后重复直到到达数组或者字符串的尾部。存在重复元素 II题目来源:leetcode1、题目描述给你一个整数数组 nums 和一个整数 k ,判断数组中是否存在两个 不同的索引 i 和 j ,满足 nums[i] == nums[j原创 2022-04-28 21:20:40 · 1777 阅读 · 27 评论 -
面试必刷算法TOP101之变长滑动窗口问题 TOP17
滑动窗口通常是寻找最长/最短的字串或者子数组所以对于不同的问题就要有不同的思路但是大体思路还是一样的对于寻找最长字串或者子数组就是取最长窗口大小,思路如下:核心思想------双指针(begin,end)都在起始地点,end逐渐向右滑动循环–在每次循环滑动中如果窗内元素满足条件,就继续扩大窗口,寻找最优结果如果窗口元素不满足条件,窗口缩小,begin向右移动—结束条件就是end到达数组或者字符串的尾部,找到最优结果...原创 2022-04-27 21:17:22 · 496 阅读 · 24 评论