码迷,mamicode.com
首页 >  
搜索关键字:python 算法 递归 递推 猴子 吃桃    ( 231713个结果
leetcode第一刷_Reverse Linked List II
翻转链表绝对是终点项目,应该掌握的,这道题要求的是翻转一个区间内的节点,做法其实很相似,只不过要注意判定开始是头的特殊情况,这样head要更新的,还有就是要把翻转之后的尾部下一个节点保存好,要么链表就断掉了。一趟就可以,遇到节点直接翻转,最后把整个翻转的链表再翻转一次,就实现了。 class Solution { public: ListNode *reverseBetween(List...
分类:其他好文   时间:2014-05-09 15:05:06    阅读次数:225
计算几何 平面最近点对 nlogn分治算法 求平面中距离最近的两点
平面最近点对,指平面中距离最近的两点。本文详细介绍求解平面最近点对的nlogn分治算法。...
分类:其他好文   时间:2014-05-09 14:57:34    阅读次数:225
leetcode第一刷_Binary Tree Inorder Traversal
递归实现当然太简单,也用不着为了ac走这种捷径吧。。非递归实现还挺有意思的。 树的非递归遍历一定要借助栈,相当于把原来编译器做的事情显式的写出来。对于中序遍历,先要访问最左下的节点,一定是进入循环后,不断的往左下走,走到不能走为止,这时候,可以从栈中弹出访问的节点,相当于“左根右”过程的“根”,然后应该怎么做呢?想一下中序遍历完根节点之后应该干嘛,对,是走到右子树中继续重复这个过程,但是有一点,...
分类:其他好文   时间:2014-05-09 14:57:08    阅读次数:211
leetcode第一刷_Restore IP Addresses
字符串的问题真是难,一般递归比较好写代码,一般地归还会超时,而且测试用例特别多。。 这道题刚拿到手时直接慌了,这情况也太多了,后来冷静下来想想,其实还是比较单纯的。一个ip地址,肯定是四个整数加三个点构成,四个整数要满足什么呢,0~255嘛,还有呢,就是这四个整数必须正好把原来的字符串给用完。一开始忽略掉的一类测试用类是前面有0但实际这个数不是零的情况。 用什么来穷举呢,或者说穷举的对象是什么...
分类:其他好文   时间:2014-05-09 14:54:11    阅读次数:210
leetcode第一刷_Unique Binary Search Trees
这道题其实跟二叉搜索树没有什么关系,给定n个节点,让你求有多少棵二叉树也是完全一样的做法。思想是什么呢,给定一个节点数x,求f(x),f(x)跟什么有关系呢,当然是跟他的左右子树都有关系,所以可以利用其左右子树的结论,大问题被成功转化成了小问题。最熟悉的方法是递归和dp,这里显然有大量的重复计算,用dp打表好一些。 后来实验的同学说,这其实是一个Catalan数,上网查了一下,果然啊。Catal...
分类:其他好文   时间:2014-05-09 14:47:53    阅读次数:229
Java中冒牌排序算法
冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。 即首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复以上过程,仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到最大数前...
分类:编程语言   时间:2014-05-09 14:47:20    阅读次数:396
leetcode第一刷_Unique Binary Search Trees II
可能没想到简单方法的人,在上一题中就把这一题给做了。怎样把所有的树都生成出来呢?方法肯定用的是递归,但是有个致命的问题,如果做好了根节点再递归,那么出来的很多树都公用一个根节点,结果肯定是乱七八糟的。 怎么做?其实做法跟之前求个数在思想上是高度统一的,先把所有的左右子树都求出来,然后把它们之间的所有组合都连接到一个新建立出来的根节点,既然是分开左右子树,很容易想到类似二分的思想,每次指定的不是一...
分类:其他好文   时间:2014-05-09 14:13:55    阅读次数:376
python基于mysql实现的简单队列以及跨进程锁
在我们做多进程应用开发的过程中,难免会遇到多个进程访问同一个资源(临界资源)的状况,必须通过加一个全局性的锁,来实现资源的同步访问(同一时间只能有一个进程访问资源)。...
分类:数据库   时间:2014-05-09 13:55:33    阅读次数:580
基于Torndb的简易ORM
最近在用tornado写一个基于Rest的WebService服务端,只提供后端服务,其他webserver应用通过URL,Rest的方式来访问。      我们在开发web应用的时候,难免会想到ORM的一些框架,比如java ee中常用的hibernate, ibatis以及python中的SQLAlchemy之类。使用ORM会在一定程度上加快我们的开发效率。...
分类:数据库   时间:2014-05-09 13:54:08    阅读次数:755
快速排序 与 随机快速排序 算法分析
快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。 快速排序的优点: (1)原址排序,空间复杂度较小。 (2)虽然最坏情况下(有序数组)...
分类:其他好文   时间:2014-05-09 13:50:58    阅读次数:283
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!