数据结构与算法
文章平均质量分 70
算法题总结
牛牛coding
念念不忘,必有回响。
展开
-
LeetCode买卖股票的最佳时机系列总结
LeetCode买卖股票的最佳时机系列总结此类动态规划从二维动规理解后优化到一维动规,部分题目还可以用到贪心。目录:121 买卖股票的最佳时机1122 买卖股票的最佳时机2123 买卖股票的最佳时机3188 买卖股票的最佳时机4309 买卖股票的最佳时机+冷冻期714 买卖股票的最佳时机+手续费(2的基础上卖出时-手续费)121 买卖股票的最佳时机(买卖一次)给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入原创 2021-08-26 09:43:18 · 325 阅读 · 0 评论 -
C++快速排序和归并排序思路+实现
1、快速排序:O(NlogN),不稳定。基本思路:1.1、设置两个变量 left、right。1.2、整个数组找基准正确位置,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面。在数据随机情况下,默认数组的第一个数为基准数据,赋值给key,即key = array[left]。因为默认数组的第一个数为基准,所以从后面开始向前搜索(right),找到第一个小于key的array[right],(循环条件是array[right] >= key;结束时 array[righ原创 2021-08-02 22:19:55 · 449 阅读 · 0 评论 -
回溯算法总结
回溯算法回溯+递归,本质是穷举,虽有剪枝操作,总体效率较低。一般分为:①组合类型②分割类型③子集类型④排列类型⑤矩阵类型。可抽象为树结构,在集合中递归查找需要的子集。解题的时候掌握部分模板,for循环横向遍历,递归纵向遍历,去重方法,优化剪枝,最好自己画一棵树方便理解。解题思路:1、组合类型:#77组合 #39,40,216数组总和Ⅰ,Ⅱ,Ⅲ #17电话号码字母组合77,216:返回1–n所有k个数组合,n等于树宽,k等于树深;确定参数,除了n和k,加入start记录从何开始遍历;终止条件,放入ve原创 2021-06-12 21:40:01 · 84 阅读 · 0 评论