![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法与数据结构
记录常见的数据结构和算法
fkuner
这个作者很懒,什么都没留下…
展开
-
股票问题系列通解
强推这篇文章股票问题系列通解(转载翻译)相信读完你肯定会有收获的!!原创 2020-11-27 11:03:54 · 129 阅读 · 0 评论 -
单调栈,看这一篇就够了!
本人对单调栈印象深刻,前几周去字节跳动实习,就问了这类题,由于没写出来,错失了实习的机会。。顾名思义,单调栈实际上就是栈,只是利用了一些巧妙的逻辑,使得每次新元素入栈后,栈内的元素都保持有序(单调递增或单调递减)首先看一个问题,没错,就是字节面试原题!给你一个数组[2,1,2,4,3],返回数组[4,2,4,-1,-1]...原创 2020-11-17 21:42:04 · 125 阅读 · 0 评论 -
手撕快速排序
void quickSort(vector<int>& nums, int left, int right){ if(left >= right) return; int mid = partition(nums,left, right); quickSort(nums, left, mid - 1); quickSort(nums, mid + 1, right);}int partition(vector<int>& nums, in原创 2020-11-05 01:00:23 · 84 阅读 · 0 评论 -
二分查找那点事
我周围的人几乎都认为二分查找很简单,但事实真的如此吗?二分查找真的很简单吗?并不简单。看看 Knuth 大佬(发明 KMP 算法的那位)怎么说的:Although the basic idea of binary search is comparatively straightforward, the details can be surprisingly tricky…这句话可以这样理解:思路很简单,细节是魔鬼。本文就来探究几个最常用的二分查找场景:寻找一个数、寻找左侧边界、寻找右侧边界。而且原创 2020-10-27 09:30:47 · 794 阅读 · 0 评论