自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 面试题精选(84):使序列有序的最少交换次数(minimum swaps) + 删除序列中所有重复的元素

题目描述:(minimum swaps)Given a sequence, we have to find the minimum no of swaps required to sort the sequence. 分析:formula:  no. of elements out of place  -  "cycles" in the sequence A cycle

2009-06-30 20:20:00 7508

转载 红黑树(转载)

原文地址:http://imlazy.ycool.com/post.1104022.html (阅读本文之前请先了解二叉搜索树)红黑树(Red-Black Tree)是二叉搜索树(Binary Search Tree)的一种改进。我们知道二叉搜索树在最坏的情况下可能会变成一个链表(当所有节点按从小到大的顺序依次插入后)。而红黑树在每一次插入或删除节点之后都会花O(log N)的时间来对树的

2009-06-29 20:36:00 1431

原创 面试题精选(83):二叉树相关的问题

涉及题目描述:(BST—binary search tree,BT—binary tree)1、BST构建2、BT的层次遍历3、BST的LCA(最近公共祖先)求解4、BST 转化为有序的double link list5、BT的LCA求解(将LCA问题转化为RMQ(上一篇blog涉及)问题求解) 相关分析: 1、2问题简单,不予分析 3、对于BST,

2009-06-28 23:11:00 3606

原创 动态规划法求解RMQ(range minimum/maximum query)问题

题目描述:RMQ(Range Minimum/Maximum Query)问题:   RMQ问题是求给定区间中的最值问题。当然,最简单的算法是O(n)的,但是对于查询次数很多(设置多大100万次),O(n)的算法效率不够。可以用线段树将算法优化到O(logn)(在线段树中保存线段的最值)。不过,Sparse_Table算法才是最好的:它可以在O(nlogn)的预处理以后实现O(1)的查询效率。

2009-06-28 21:13:00 4674 3

原创 面试题精选(82):找出数组中只出现一次的3个数

题目描述:Given an array of n integers, such that each number in the array appears exactly twice, except for three numbers (say a, b and c) which appear exactly once.In O(n) time and O(1) space find a,b

2009-06-22 20:45:00 3906

原创 面试题精选(81):两道按照要求重排数组问题

题目1描述:you are given an array of integers containing only 0s and 1s. you have to place all the 0s in even position and 1s in odd position and if suppose no if 0s exceed no. of 1s or vice versa then k

2009-06-20 20:23:00 1978 1

原创 面试题精选(80):设计含min函数的栈的另解

题目:定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。要求函数min、push以及pop的时间复杂度都是O(1)。 分析: 下面给出的链接是之前使用双倍空间2*n来实现的http://blog.csdn.net/yysdsyl/archive/2007/10/24/1841644.aspx 其实,辅助栈的使用可以进一步优化,做到worst-case下使用

2009-06-19 19:29:00 2830

原创 面试题精选(79):取值为【1,n-1】含n个元素的整数数组至少存在一个重复数,O(n)时间内找出其中任意一个重复数

题目描述:You have a read-only array A[1..n] which is populated by numbers from 1..n-1, which implies atleast one repetition. However, there can be more. Find any one repeated number in linear time O(n) 

2009-06-15 21:44:00 5253 5

原创 面试题精选(78):输出两有序数组和的前k项(O(klgk)复杂度)

题目描述:Let A and B are sorted array with length m and n respectively, given k, the problem is to find the first k smallest elements which are composed of A[i]+B[j]. e.g. A={1,3,5,7}, B={2,6, 10}, k =

2009-06-14 23:21:00 2498 1

原创 双向链表的单指针实现(算法导论习题)

题目描述:Explain how to implement doubly linked lists using only one pointer value np[x] per item instead of the usual two (next and prev). Assume that all pointer values can be interpreted as k-bit int

2009-06-14 13:29:00 2606

原创 舞蹈链备忘:解决精确覆盖问题

dance links 中文版http://sqybi.com/works/dlxcn/精确覆盖问题给定一个由0和1组成的矩阵,是否能找到一个行的集合,使得集合中每一列都恰好包含一个1?例如,下面这个矩阵                                      就包含了这样一个集合(第1,

2009-06-13 19:49:00 6314

原创 算法导论学习之加权中位数

加权中位数定义: 加权中位数求解:   代码实现:#include #include using namespace std;template int Partion(T seq[],int p,int r){    T key=seq[r];    int i=p-1;    for(int j=p;j    {        if(seq[j]   

2009-06-13 19:12:00 8505 1

原创 面试题精选(77):两有序数组的中位数求解

题目描述:Let X[1 .. n] and Y [1 .. n] be two arrays, each containing n numbers already in sorted order. Give an O(lg n)-time algorithm to find the median of all 2n elements in arrays X and Y. 题目是《算法

2009-06-13 16:32:00 6905 2

原创 最长上升子序列的动态规划的O(n^2)求解和贪心O(nlgn)求解

题目描述:给你一个数列,一次操作是指将某个数移到数列中别的位置上去,然后问最少要几次操作才能让数列变得有序。例如,数列7,1,3,2,6,5就只需要三次移动,把3移到2后面,把5移到6前面,再把7移到最后面即可。 问题等价转化:其实就是一个最长上升子序列问题。因为整个操作过程实质上可以等价地看作是,把要移动的数先全部取出来,再挨个放回适当的位置。这就要求取出要移动的数后,剩下的那些

2009-06-12 19:05:00 8311 2

原创 面试题精选(76):给定BST先序遍历序列,不构造BST的情况下判断BST是否每个node都只有一个child

题目描述:Input :    You have been given a sequence of integers.                Now without actually constructing BST from the given sequence of integers (assuming the sequence is pre-order) determine if

2009-06-12 12:25:00 2014 1

原创 面试题精选(75):经过旋转的有序数组中的元素查找(要求复杂度为O(lgn))

题目描述:An element in a sorted array can be found in O(log n) time via binary search. But suppose I rotate the sorted array at some pivot unknown to you beforehand. So for instance, 1 2 3 4 5 might bec

2009-06-11 19:23:00 1846 2

原创 翻硬币小趣题

题目描述:一个翻硬币的游戏,有N(N  思路分析:枚举2^9种列的翻法。 遍历N行,如果某行正面朝上的少,翻之;如果正面朝上的多,不翻 记下使得正面最多的方法即可 耗时O(2^9 * N)这个得到的是最优解.用位运算效率还是很高的. 对每一列,都用一个9位的数表示,一共有N个 然后便利所有的9位状态,(000000000)-(111111111) (二进制) 对于每个状态,都与

2009-06-11 14:07:00 2314 3

原创 udp可靠文件传输实现(基于滑动窗口机制)

老板逼着让写一个基于UDP可靠通信的demo以作为其网络课程的课件内容之一来给学生演示  dup是不可靠的,为了实现可靠文件传输,需要加入额外的机制来确保可靠,在此选用了滑动窗口机制。   滑动窗口介绍: 滑动窗口协议的基本原理就是在任意时刻,发送方都维持了一个连续的允许发送的帧的序号,称为发送窗口;同时,接收方也维持了一个连续的允许接收的帧的序号,称为接收窗口

2009-06-11 13:22:00 17543 42

原创 回溯法求解8皇后问题

//问题描述:在一个8×8国际象棋盘上,有8个皇后,每个皇后占一格;//要求皇后间不会出现相互攻击的现象,即不能有两个皇后处在同一行、同一列或同一对角线上//问共有多少种不同的摆放方法?// 本解法采用回溯递归法,容易理解,// 首先在棋盘上摆第一个皇后,然后摆第二个,每摆一个皇后则判断位置是否合法。// 如果合法,则摆下一个皇后,如果不合法则在本行下一个位置尝试,所有位置尝试失败// 则拿掉

2009-06-08 13:19:00 1904 2

原创 动态规划求解编辑距离问题

题目描述:要求两字符串有差异的字符个数。例如: aaaaabaaaaa aaaaacaabaa 这两个字符串,最大公共字串长度是5,但它们只有两个字符不同,函数输出值应为2。 如果是: aaabbbcccddd aaaeeeddd 函数的输出值应该是6。 比较形象地形容一下,把两个字符串排成上下两行,每个字符串都可以在任何位置插入空格以便上下对齐,每个列上至少有一个字符来自这两个字符串。当对齐

2009-06-07 13:26:00 14298 6

原创 腾讯一道找中位数的面试题

题目描述:在一个文件中有 10G 个整数,乱序排列,要求找出中位数。内存限制为 2G。只写出思路即可。 思路: 1,把整数分成256M段,每段可以用64位整数保存该段数据个数,256M*8 = 2G内存,先清0 2,读10G整数,把整数映射到256M段中,增加相应段的记数 3,扫描256M段的记数,找到中位数的段和中位数的段前面所有段的记数,可以把其他段的内存释放 4,因中位数

2009-06-07 00:29:00 4448 1

原创 面试题精选(74):n个数连接得到最小或最大的多位整数(百度笔试题)

题目描述: 设有n个正整数,将它们联接成一排,组成一个最小的多位整数。 程序输入:n个数 程序输出:联接成的多位数  例如: n=2时,2个整数32,321连接成的最小整数为:32132, n=4时,4个整数55,31,312, 33 联接成的最小整数为:312313355 [题目要求] 1. 给出伪代码即可,请给出对应的文字说明,并使用上面给出的例子试验你的算法。 2. 给出算法

2009-06-06 23:59:00 6201 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除