随笔分类 - 算法
<剑指offer>和leetcode
摘要:题目: 给定数组n, 包含n天股票的价格price, 一个人一共最多可以买2手股票,但在第一手股票卖出去前不能买入第二手股票. 如果不买,收益为0. 假设每手只买1股,计算这个人最大收益. 答案: include include // 计算[first,last)之间的最大子序列和,并将每一步保存在
阅读全文
摘要:1. 单向链表 1.1 链表反转 1.2 链表中间节点 "面试题——查找单链表的中间节点" 1.3 链表是否有环及其相关扩展 "判断链表中是否有环 有关单链表中环的问题" 1.4 2. 双向链表 3. 循环链表
阅读全文
摘要:[TOC] 1. 排列 1.1 std::next_permutation 使用STL的std::next_permutation函数 2. 组合 2.1 STL的next_permutation函数
阅读全文
摘要:LRU的典型实现是hash map + doubly linked list, 双向链表用于存储数据结点,并且它是按照结点最近被使用的时间来存储的。 如果一个结点被访问了, 我们有理由相信它在接下来的一段时间被访问的概率要大于其它结点。于是, 我们把它放到双向链表的头部。当我们往双向链表里插入一个结点, 我们也有可能很快就会使用到它,同样把它插入到头部。
如果没有哈希表,我们要访问某个结点,就需要顺序地一个个找, 时间复杂度是O(n)。使用哈希表可以让我们在O(1)的时间找到想要访问的结点, 或者返回未找到
阅读全文
摘要:openssl RSA AES
阅读全文