摘要: 题目描述 输入一个链表,反转链表后,输出新链表的表头。 解题思路 定义2个辅助节点: 上一个节点 下一个节点 完整代码 /* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) 阅读全文
posted @ 2020-09-03 21:42 程序员曾奈斯 阅读(132) 评论(0) 推荐(0)
摘要: 题目描述 设计LRU缓存结构,该结构在构造时确定大小,假设大小为K,并有如下两个功能 set(key, value):将记录(key, value)插入该结构 get(key):返回key对应的value值 [要求] set和get方法的时间复杂度为O(1) 某个key的set或get操作一旦发生, 阅读全文
posted @ 2020-09-03 21:39 程序员曾奈斯 阅读(1667) 评论(0) 推荐(0)
摘要: 你有 4 张写有 1 到 9 数字的牌。你需要判断是否能通过 *,/,+,-,(,) 的运算得到 24。 示例 1: 输入: [4, 1, 8, 7] 输出: True 解释: (8-4) * (7-1) = 24 示例 2: 输入: [1, 2, 1, 2] 输出: False class Sol 阅读全文
posted @ 2020-09-03 20:41 程序员曾奈斯 阅读(175) 评论(0) 推荐(0)
摘要: 0-1背包问题(二维dp) 0-1背包升级版(二维dp) 完全背包(费解)如凑领钱(一维、二维dp) 子序列问题(重要) 最长递增子序列(一维dp) 最长公共子序列(二维dp) 最长回文子序列(二维dp) 最短编辑距离(二维dp) 最短路径(机器人走路)(二维dp) 第一步要明确两点,「状态」和「选 阅读全文
posted @ 2020-09-03 10:14 程序员曾奈斯 阅读(425) 评论(0) 推荐(0)