会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
李舜阳
https://blog.lishunyang.com
首页
新随笔
订阅
管理
上一页
1
···
19
20
21
22
23
2015年1月19日
Leetcode#154 Find Minimum in Rotated Sorted Array II
摘要: 原题地址说个题外话,我一直想不明白题目里rotate这个词,感觉用shift更合适啊仔细分析题目,有如下两个性质:1. 对于一个没有折叠过的数组,最小值一定是第一个元素。2. 对于一个折叠过的数组,最小值一定出现在折叠的地方。因此,要找最小值,就把以上两种情况下的最小值都看看,选一个最小的就行了。这...
阅读全文
posted @ 2015-01-19 11:50 李舜阳
阅读(464)
评论(0)
推荐(0)
2015年1月18日
Leetcode#85 Maximal Rectangle
摘要: 原题地址这道题跟最大子矩阵的思想比较类似,都是降一维(减少变量数量)转化成简单问题指定任意一行作为矩形的下边界,那么问题就变成了求直方图的最大面积的矩形,参见之前的这篇文章。所以思路就是,从上到下,依次求直方图最大面积矩形,感觉瞬间没有难度了。下面的代码里,第一个函数就是原封不动搬过来的。。时间复杂...
阅读全文
posted @ 2015-01-18 17:16 李舜阳
阅读(602)
评论(0)
推荐(0)
Leetcode#84 Largest Rectangle in Histogram
摘要: 原题地址有两种方法,左右扫描或辅助栈。方法I: 左右扫描法考虑到最大面积的矩形高度一定跟某个条一样高,所以挨个枚举每个条,看其向左、向右最多能延伸到多远。在计算左右边界时,可以借助之前计算过的结果迭代(类似动归的感觉)优化以减少时间复杂度,这应该算是唯一的难点了。总的来说,向左一遍,向右一遍,整体求...
阅读全文
posted @ 2015-01-18 16:34 李舜阳
阅读(5069)
评论(1)
推荐(0)
Leetcode#45 Jump Game II
摘要: 原题地址最朴素的想法是,对于每个位置,挨个尝试一遍不同的跳法,这样总能找到最优解,最坏情况下A[i]=n,那么时间复杂度为O(n^2)。显然会超时,所以在这个朴素的算法上改进。如果用动态规划求解,考虑如何划分子问题。一个很自然的想法是将起跳点为子问题边界,令p[i]表示从第i个位置起跳,到终点所需最...
阅读全文
posted @ 2015-01-18 14:55 李舜阳
阅读(1075)
评论(0)
推荐(0)
Leetcode#4 Median of two sorted arrays
摘要: 原题地址将“寻找中位数”转化成更一般化的“寻找第k大的数”这个问题。因为数组已经排序,所以可以使用二分缩小范围,使得时间复杂度满足要求。假设A、B数组里都至少有k/2个元素,那么可以将k平均划分成k/2和k/2两半,在A里找第k/2大的元素,在B里找k/2大的元素(对k划分,解题的关键)。因为数组已...
阅读全文
posted @ 2015-01-18 14:04 李舜阳
阅读(185)
评论(0)
推荐(0)
Leetcode#1 Two Sum
摘要: 原题地址方法I:辅助数据结构用一个map保存遇到的值和位置,最直观的想法。遍历numbers,对于每个元素numbers[i]:如果在map中找到了target-numbers[i],说明找到了这两个数字,算法结束否则,将numbers[i]和所在位置i加入map中时间复杂度O(n),空间复杂度O(...
阅读全文
posted @ 2015-01-18 13:42 李舜阳
阅读(432)
评论(0)
推荐(0)
2014年11月7日
不能更通俗了!KMP算法实现解析
摘要: 本文主要帮助大家理解KMP算法的具体实现代码,运用大量图片进行通俗易懂的讲解,不能更通俗了,看完一定很有收获。
阅读全文
posted @ 2014-11-07 00:37 李舜阳
阅读(2813)
评论(0)
推荐(0)
上一页
1
···
19
20
21
22
23
公告