09 2014 档案

摘要:1.输入n个整数,输出其中最小的k个。 堆做法、quickSelect做法。堆做法代码:import java.util.ArrayList;import java.util.Comparator;import java.util.List;import java.util.PriorityQue... 阅读全文
posted @ 2014-09-30 09:59 jdflyfly 阅读(207) 评论(0) 推荐(0)
摘要:1. 给一个浮点数序列,取最大乘积连续子串的值,例如 -2.5,4,0,3,0.5,8,-1,则取出的最大乘积连续子串为3,0.5,8。2. 给定一个长度为N的整数数组,只允许用乘法,不能用除法,计算任意(N-1)个数的组合中乘积最大的一组,并写出算法的时间复杂度。3. 给定一个数组a[N],我们希... 阅读全文
posted @ 2014-09-25 22:32 jdflyfly 阅读(123) 评论(0) 推荐(0)
摘要:分解质因数求最大公约数求最小公倍数牛顿迭代求平方根分解质因数import java.util.ArrayList;import java.util.List;public class Solution { // 返回质因数分解 List getPrimeFactors(int n) { ... 阅读全文
posted @ 2014-09-17 17:11 jdflyfly 阅读(225) 评论(0) 推荐(0)
摘要:生产者消费者问题读者作家问题哲学家吃饭问题生产者消费者问题http://en.wikipedia.org/wiki/Producer%E2%80%93consumer_problem分别用锁、信号量、同步监视器模拟的例子。package thread;import java.util.Random;... 阅读全文
posted @ 2014-09-15 22:12 jdflyfly 阅读(322) 评论(1) 推荐(0)
摘要:1. 无序数组求中位数 思路1:quick修改版的寻找kth元素,平均O(n),最长O(n^2)。 思路2:算法导论上worst case O(N)的算法,可见 这里2. 两个无序数组求中位数3. 两个有序数组求中位数 http://www.cnblogs.com/jdflyfly/p/381... 阅读全文
posted @ 2014-09-12 23:00 jdflyfly 阅读(270) 评论(0) 推荐(0)
摘要:图的表示:连接矩阵,连接链表。图的遍历:dfs(递归、非递归),bfs.连接矩阵下各种遍历:import java.util.ArrayList;import java.util.LinkedList;import java.util.List;import java.util.Queue;impo... 阅读全文
posted @ 2014-09-11 16:30 jdflyfly 阅读(307) 评论(0) 推荐(0)
摘要:O(n)时间,O(1)空间对二叉树进行前序、中序、后序遍历。详细讲解看参考。public class Solution { public static void morrisPreorder(TreeNode root) { TreeNode cur = root; ... 阅读全文
posted @ 2014-09-09 22:36 jdflyfly 阅读(341) 评论(0) 推荐(0)
摘要:297. Serialize and Deserialize Binary Tree 思路:preorder遍历 便于deserialize。时空O(N)。 public class Codec { // Encodes a tree to a single string. public Strin 阅读全文
posted @ 2014-09-09 19:41 jdflyfly 阅读(1352) 评论(0) 推荐(0)
摘要:最长公共子序列(longest common subsequence)最长公共子串(longest common substring)最长递增子序列(longest increasing subsequence)最长重复子串最长不重复子串最长回文子串两个字符串的编辑距离(edit distance)... 阅读全文
posted @ 2014-09-06 10:18 jdflyfly 阅读(272) 评论(0) 推荐(0)
摘要:题目:一个最多包含n个正整数的文件,每个数都小于n,其中n=10^7,且所有正整数都不重复。求如何将这n个正整数升序排列。约束:最多有1MB的内存空间可用,有充足的磁盘存储空间。习题2 习题3 实现位向量用于排序。#include#define N 10000000#define Shift 5#d... 阅读全文
posted @ 2014-09-04 21:59 jdflyfly 阅读(156) 评论(0) 推荐(0)
摘要:算法导论上一个经典算法,讲解可看 http://yzmduncan.iteye.com/blog/1432880AC代码的复杂度为 n*lgn*lgn,算法导论上讲还可以通过“预排序”,不用每次都按照y排序,复杂度可下降为n*lgn。http://acm.hdu.edu.cn/status.php ... 阅读全文
posted @ 2014-09-04 17:43 jdflyfly 阅读(385) 评论(0) 推荐(0)
摘要:区分平均运行时间 和 期望运行时间的区别。 阅读全文
posted @ 2014-09-04 00:12 jdflyfly 阅读(164) 评论(0) 推荐(0)
摘要:主定理常用于计算递推式的时间复杂度。 阅读全文
posted @ 2014-09-03 21:28 jdflyfly 阅读(516) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2014-09-03 20:04 jdflyfly 阅读(123) 评论(0) 推荐(0)
摘要:6.输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。http://ac.jobdu.com/problem.php?pid=1385记录:postIdx每个case前记得要初始化;post数组填充的位置应该在子树填充完之后;如何in中找不到root证明无法构建返回错误。#includein... 阅读全文
posted @ 2014-09-02 15:49 jdflyfly 阅读(255) 评论(0) 推荐(0)