算法与数据结构
记录常见的数据结构和算法
fkuner
这个作者很懒,什么都没留下…
展开
-
股票问题系列通解
强推这篇文章 股票问题系列通解(转载翻译) 相信读完你肯定会有收获的!!原创 2020-11-27 11:03:54 · 137 阅读 · 0 评论 -
单调栈,看这一篇就够了!
本人对单调栈印象深刻,前几周去字节跳动实习,就问了这类题,由于没写出来,错失了实习的机会。。 顾名思义,单调栈实际上就是栈,只是利用了一些巧妙的逻辑,使得每次新元素入栈后,栈内的元素都保持有序(单调递增或单调递减) 首先看一个问题,没错,就是字节面试原题! 给你一个数组[2,1,2,4,3],返回数组[4,2,4,-1,-1] ...原创 2020-11-17 21:42:04 · 132 阅读 · 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 · 92 阅读 · 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 · 817 阅读 · 0 评论