LeetCode常用算法模式大厂面试题整理
转载自 LeetCode常用算法模式&大厂面试题整理
文章目录
1、滑动窗口
2、双指针
3、快慢指针
4、合并区间
5、循环排序
6、就地反转链表
7、堆-优先队列问题
8、Top K
9、归并
10、单调栈
11、回溯法
BATJ等大厂面试真题汇总
1、滑动窗口
参考例题
生成窗口最大值数组 牛客网链接>>>>>>答案
最大值减去最小值小于或等于num的子数组数量 牛客网链接>>>>>>答案
最短包含子串长度/最小覆盖子串(待完善)
2、双指针
参考例题
4-sum 3sum-closest 3-sum
最长无重复子串
长度最小的子数组
蓄水池问题
3、快慢指针
应用举例(这一部分比较简单,注意边界条件即可)
链表或数组循环
用于找中间元素
需要知道某个元素的位置或链表的总长度
4、合并区间
合并间隔模式是处理重叠间隔的有效技术。在涉及间隔的许多问题中,你可以需要找到重叠间隔或合并间隔(如果它们重叠)。给定两个间隔 a和 b,可能存在6中不同的间隔交互情况:
应用举例
区间重叠问题
区间列表的交集
无重复区间问题
借助HashMap的问题
添加链接描述
5、循环排序
循环排序模式描述了一种处理涉及包含给定范围内的数字的数组问题的有趣方法。其一次遍历数组一个数字,如果正在迭代的当前数字不是正确的索引,则将其与正确索引处的数字交换。
应用举例
第一个缺失的正整数(有正有负循环排序代码比直接排序代码简单)
缺失数字(有很多种解题方案,循环排序方法的复杂度最优)
寻找重复数据(其实笔试的过程中可以用空间换时间和代码复杂度)
6、就地反转链表
7、堆-优先队列问题
应用例题
窗口的中位数–利用优先队列
leetcode253. 会议室II(java):最小堆(非常常见的一道题 高频高频)
数据流的中位数
分金条的最小花费
做项目的最大收益
8、Top K
class Solution {public int[] topKFrequent(int[] nums, int k) {HashMap<Integer, Integer> map = new HashMap<>();PriorityQueue<Map.Entry<Integer, Integer>> maxheap = new PriorityQueue<>((a,b) -> b.getValue() - a.getValue());int[] result = new int[k];for(int i = 0; i < nums.length; i++){map.put(nums[i], map.getOrDefault(nums[i], 0) + 1);}for(Map.Entry<Integer, Integer> m : map.entrySet()){maxheap.offer(m);}for(int i = 0; i < k; i++){result[i] = maxheap.poll().getKey();}return result;}
}
class Solution {public List<String> topKFrequent(String[] words, int k) {Map<String, Integer> count = new HashMap();for (String word: words) {count.put(word, count.getOrDefault(word, 0) + 1);}PriorityQueue<String> heap = new PriorityQueue<String>((w1, w2) -> count.get(w1).equals(count.get(w2)) ?w2.compareTo(w1) : count.get(w1) - count.get(w2) );for (String word: count.keySet()) {heap.offer(word);if (heap.size() > k) heap.poll();}List<String> ans = new ArrayList();while (!heap.isEmpty()) ans.add(heap.poll());Collections.reverse(ans);return ans;}
}
9、归并
10、单调栈
参考文献
从名字上就听的出来,单调栈中存放的数据应该是有序的,所以单调栈也分为单调递增栈和单调递减栈
单调递增栈:栈中数据出栈的序列为单调递增序列
单调递减栈:栈中数据出栈的序列为单调递减序列
stack<int> st;
//此处一般需要给数组最后添加结束标志符,具体下面例题会有详细讲解
for (遍历这个数组)
{if (栈空 || 栈顶元素大于等于当前比较元素){入栈;}else{while (栈不为空 && 栈顶元素小于当前元素){栈顶元素出栈;更新结果;}当前数据入栈;}
}
应用例题
视野总和
柱状图中最大矩形解答
柱状图中最大矩形
左程云书籍单调栈问题链接—其实把这个搞懂,其他的都是这个题的变形
11、回溯法
、BATJ等大厂面试真题汇总
LeetCode常用算法模式大厂面试题整理相关推荐
- 史上最全 BAT 大厂面试题整理
转载自 史上最全 BAT 大厂面试题整理!(速度收藏) 主要分为以下几部分: (1)java面试题 (2)Android面试题 (3)高端技术面试题 (4)非技术性问题&HR问题汇总 1 ja ...
- Android 最全 BATJ 大厂面试题整理!
最全 BATJ 大厂面试题整理!(速度收藏) 阿里职位层级(附P级详细要求) 互联网技术(java框架.分布式.集群)干货视频大全,不看后悔!(免费下载) 年入50万,程序员众生相 网上的都是按照公司 ...
- 2020最全的BAT大厂面试题整理改版
最全的BAT大厂面试题整理 版权声明:本文为博主原创文章,未经博主允许不得转载.https://www.jianshu.com/p/c70989bd5f29 转载请标明出处: https://www. ...
- 【大牛疯狂教学】2020最全的BAT大厂面试题整理改版
最全的BAT大厂面试题整理 版权声明:本文为博主原创文章,未经博主允许不得转载.https://www.jianshu.com/p/c70989bd5f29 转载请标明出处: https://www. ...
- 腾讯T3手把手教你!2020最全的BAT大厂面试题整理改版
最全的BAT大厂面试题整理 版权声明:本文为博主原创文章,未经博主允许不得转载.https://www.jianshu.com/p/c70989bd5f29 转载请标明出处: https://www. ...
- 最新的BAT大厂面试题整理(完整的问答模式)
前言: 又到了面试求职高峰期,最近有很多网友都在求大厂面试题.正好我之前电脑里面有这方面的整理,于是就发上来分享给大家. 这些题目是网友去百度.小米.乐视.美团.58.猎豹.360.新浪.搜狐等一线互 ...
- 全套BAT大厂面试题整理锦集
金三银四是面试求职高峰期,最近有很多网友都在求大厂面试题.发出来分享给大家. 这些题目是网友去百度.小米.乐视.美团.58.猎豹.360.新浪.搜狐等一线互联网公司面试被问到的题目.熟悉本文中列出的知 ...
- 2022最全的BAT大厂面试题整理及分析
又是一年的金三银四,又到了面试求职高峰期,最近有很多网友都在求大厂面试题.正好我之前电脑里面有这方面的整理,于是就发上来分享给大家. 这些题目是网友去百度.小米.乐视.美团.58.猎豹.360.新浪. ...
- 总结2022最全的BAT大厂面试题整理及分析
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k1qxiskF-1660644075912)(https://upload-images.jianshu.io/uplo ...
最新文章
- DCN-cs6200 ipv6 6to4隧道
- django模板过滤器
- Linux / Ubuntu Desktop / 设置静态 IP 的方法
- 项目微管理18 - 嘴遁
- (转)非极大抑制(Non-Maximum Suppression)
- Host key verification failed. fatal: Could not read from remote repository.Please make sure you have
- android系统电视缺点,高清智能电视安卓系统优势与不足解析
- 如何通过虚拟私有云保障服务安全【华为云分享】
- c语言中的数组二分法排序程序,#C语言#二分法查找有序数组
- 算法基础部分4-深度优先搜索
- linux网站配置文件.htaccess伪静态转换到IIS web.config中
- UDP中sendto()和recvfrom()两个函数的使用
- Mac pro 中Word-PPT(office)常用快捷键--补充
- 如何使用QuickTime Player一键视频压缩
- 【云原生之Docker实战】使用Docker部署File Manager文件管理系统
- 电商干货!1000万烧出来的高点击率钻展创意图十大原则(营销人性)
- 看完这篇文章受益终身
- pandas删除nan的行
- 教你怎么利用豆瓣推广引流粉丝
- SQL数据库更改SQL Sever身份认证
热门文章
- Webots学习笔记 1.创建自己的仿真机器人模型
- 计算机怎么一键返回桌面,回到桌面的快捷键是啥_快速桌面快捷键怎么操作-win7之家...
- day20.顺序结构 选择结构
- 用Scrapy爬取笔趣阁小说
- 加州欧文大学计算机工程,加州大学欧文分校计算机工程专业课程设置有哪些
- 电子器件系列二:IGBT
- 3.OpenCV可视化(Viz)——单目相机标定模拟
- 成本、利润分析法在企业管理中的应用
- 【jqprint打印】js两种超简单的打印方法
- linux 免费 版本,五个免费的轻量级Linux发行版