经典算法题-leetcode

【子串问题】

解题模板:滑动窗口

leetcode.3.不含有重复字符的最长子串的长度

思路:快慢指针+下标记忆  O(N)

leetcode.340.至多包含K个不同字符的最长子串

思路:快慢指针+次数记忆O(N)

 

leetcode.4.寻找2个有序数组的中位数

思路:切分法

 

leetcode.215.数组中的第K大元素

思路:类似于快速排序的快速选择算法  O(N)

 

leetcode.23.合并K个排序链表

思路:分治法,类似于归并排序 O(nk×log(k))

 

 

leetcode.42.接雨水(二维空间)--使用stack

leetcode.407.接雨水(三维空间)--使用优先队列 heapq

leetcode.417.太平洋大西洋水流问题

思路:BFS“农村包围城市”策略

 

leetcode.84.柱状图中最大的矩形

思路:使用stack,遇到高个子出栈并计算面积。

h=min(arr[i],arr[stack[-1]])-arr[topIndex]

w = i-stack[-1]-1

 

leetcode面试题50.逆序对

思路:归并排序

 

leetcode面试题43.1~n整数中1出现次数

思路:

0:high*dight

1:high*dight+low+1

2~9:(high+1)*dight

 

【区间问题】

解题模板:

leetcode.56.合并区间

思路:

1.按照起始值排序

2.一遍循环:若后者区间起始值在前者区间内则合并为:(前者起始值,max(前者结束值,后者结束值));否则不合并直接输出。

 

 

leetcode.面试题19.正则表达式

 

1

发表评论

电子邮件地址不会被公开。 必填项已用*标注

微信扫一扫

微信扫一扫

微信扫一扫,分享到朋友圈

经典算法题-leetcode
嘿!有什么能帮到您的吗?
返回顶部

显示

忘记密码?

显示

显示

获取验证码

Close