摘要: Algorithm: 343: Integer Break (Medium) 求整数拆分后的最大乘积。首先动态规划解法,定义状态 dp[i] 是整数 i 拆分后乘积最大值,思考 dp[i] 和 dp[i-1] 关系并没有结果,换一个思路,取 j 是 i 最终拆出来的一个数,接下来有两种情况,第二个数 阅读全文
posted @ 2020-09-20 23:21 Jeff_p 阅读(114) 评论(0) 推荐(0) 编辑
摘要: Algorithm: 08.03: Magic Index LCCI (Easy) 基于有序数组的算法,一般可以利用二分法,对基本二分法中三种情况分别考察,首先 nums[mid] == mid 时,mid 符合条件,但题目要求返回第一个符合条件的索引,因此还需要先在左半边找,没找到才选择这个;其次 阅读全文
posted @ 2020-08-08 18:36 Jeff_p 阅读(177) 评论(0) 推荐(0) 编辑
摘要: Algorithm: 96: Unique Binary Search Trees (Medium) 这道题有几个关键点,1首先需要充分理解 BST 二叉搜索树,左子树都小于、右子树都大于当前节点,因此每确定一个根节点,其种类数可以固定计算,等于左子树种类数乘以右子树种类数。2抽象和推导出递归公式, 阅读全文
posted @ 2020-07-19 15:18 Jeff_p 阅读(144) 评论(0) 推荐(0) 编辑
摘要: Algorithm: 225: Implement Stack using Queues (Easy) 232: Implement Queue using Stacks (Easy) 栈和队列互相表达虽然很简单,但是有多种办法,比如使用队列时的双队列、单队列、操作头部、操作尾部、peek优化等,最 阅读全文
posted @ 2020-07-12 17:34 Jeff_p 阅读(129) 评论(0) 推荐(0) 编辑
摘要: Algorithm: 70: Climbing Stairs (Easy) 167: Two Sum II - Input array is sorted (Easy) 120: Triangle (Medium) 经典动态规划,状态转移方程是自底向上,row[i] = row[i] + min(p 阅读全文
posted @ 2020-07-05 16:26 Jeff_p 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 目标明确的一周。 Algorithm: 451:Sort Characters By Frequency (Medium) 比较平淡的一道题,就是扫描一遍统计频率,再按频率拍序,最后按频率输出。有几个方面的小技巧,1统计频率时除了用 map 外,还可以用数组,因为内容只有字母,2 排序时可以用桶排序 阅读全文
posted @ 2020-06-28 00:31 Jeff_p 阅读(76) 评论(0) 推荐(0) 编辑
摘要: 拨云见日的一周。 Algorithm: 104:Maximum Depth of Binary Tree(Easy) 树的很多问题首先考虑遍历,几种前中后序遍历只是打印时机不同,实际都是一样的 DFS,此外 DFS 也可以不用递归,手动使用栈结构模拟,最后还可以使用 BFS,借助 queue 优先处 阅读全文
posted @ 2020-06-20 23:31 Jeff_p 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 10-10-5 的一周。 Algorithm: 435:Non-overlapping Intervals (Medium) 贪心算法,重点是如何使每一次选择对随后更有利。对所有区间按起点排序,从前到后两两比较,如果不相交都保留,pre和i指针向后,如果相交要决策去掉哪个,要去掉右边界占用更少的那个 阅读全文
posted @ 2020-06-14 21:07 Jeff_p 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 最近修改同事代码时遇到一个问题,通过 httpclient 默认配置产生的 httpclient 如果不关闭,会导致连接无法释放,很快打满服务器连接(内嵌 Jetty 配置了 25 连接上限),主动关闭问题解决;后来优化为通过连接池生成 httpclient 后,如果关闭 httpclient 又会 阅读全文
posted @ 2020-06-14 18:13 Jeff_p 阅读(21437) 评论(0) 推荐(3) 编辑
摘要: 需要抓紧时间的一周。 Algorithm: 215:Kth Largest Element in an Array (Medium) 这道题求第 k 大元素,类似于 top k,可以使用堆 heap,这里需要注意虽然逻辑上需要一个大小为 k 的小顶堆,但是实际上有个技巧是让它可以放下 k + 1 个 阅读全文
posted @ 2020-06-06 12:07 Jeff_p 阅读(208) 评论(0) 推荐(0) 编辑