会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
乘风有时
Powered by
博客园
博客园
|
首页
|
新随笔
|
联系
|
订阅
|
管理
2017年4月24日
[LeetCode]Max Points on a Line
摘要: 题目:Max Points on a Line 找到给定的点集中在一条直线上的最大点数。 思路: 两点确定一条直线,可以通过y=k*x+b中的k和b来确定直线; k=(y1-y0)/(x1-x0) b=(x1*y0-x0*y1)/(x1-x0); 所以用double类型存储k,b; 遍历每个点找到k
阅读全文
posted @ 2017-04-24 17:06 乘风有时
阅读(142)
评论(0)
推荐(0)
编辑
[LeetCode]Insertion Sort List
摘要: 题目:Insertion Sort List 对链表进行插入排序。 注意: 1.插入头部和插入其他位置需要区分开处理; 2.可以考虑稳定的排序; 思路: 基本的思路就是每次从原链表按顺序取一个节点将它查到已序的新链表的合适的位置。 还有链表的归并排序:http://www.cnblogs.com/y
阅读全文
posted @ 2017-04-24 11:27 乘风有时
阅读(115)
评论(0)
推荐(0)
编辑
[LeetCode]Sort List
摘要: 题目:Sort List 对链表排序; 要求:时间复杂度O(nlogn),空间复杂度O(1) 考虑使用归并排序。 归并排序的思想:先将它划分成k各部分每个部分排好序后,再两两合并,知道所有的合并到一起,就排好序。 由于要求空间复杂度O(1),所以不能递归。 下面的实现是初始步长为2时的归并排序的情况
阅读全文
posted @ 2017-04-24 11:27 乘风有时
阅读(112)
评论(0)
推荐(0)
编辑
[LeetCode]Unique Binary Search TreesII
摘要: 题目:Unique Binary Search TreesII 如果要列出所有可能的二叉搜索树,可以在上面的思路上进一步。 f(n) = f(0)*f(n-1) + f(1)*f(n-2) + ... + f(n-1)*f(0); 只要求出不同变量下的子树的所有情况,在整合到一起就可以了。 具体思路
阅读全文
posted @ 2017-04-24 10:38 乘风有时
阅读(140)
评论(0)
推荐(0)
编辑
[LeetCode]Pow(x, n)
摘要: 题目:Pow(x, n) 类似的还有要求自己实现pow(x,n)函数,同样用到左移。 思路如下: 1.首先记录n的正负, 2.然后用32位数组记录|n|的二进制表示方法,对应位置置1,表示最后计算平方的时候,当前位的结果要加到最终结果里面。 实际上不需要用数组存储,用按位与也可以一一取出对应的1.
阅读全文
posted @ 2017-04-24 10:36 乘风有时
阅读(270)
评论(0)
推荐(0)
编辑
[LeetCode]Jump GameII
摘要: 题目:Jump GameII 如果要求找最小的调数,考虑扩张的思路。 思路如下: 1.首先找起始位能到达的范围是否覆盖了最终位置,并记录下搜索中的最远能到达的位置值,即max{nums[i] + i}; 2.如果无法到达最终位置,则跳数加一,并从上一次搜索的最后位置开始,向后搜索到上一次记录的最大值
阅读全文
posted @ 2017-04-24 10:36 乘风有时
阅读(102)
评论(0)
推荐(0)
编辑