自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (3)
  • 收藏
  • 关注

原创 删除K个数字,使剩下的数字串最大

题目:一个n位的数,去掉其中的k位,问怎样去掉使得留下来的那个(n-k)位的数最大?分析:可以直接用贪心来求解,每次寻找从头开始的连续递减序列,删除递减序列的最后一个元素,重复K次,最后剩下的数字串组成的数字最大。比如:“13787323”第一次,递减序列只有1,删除1,得到3787323第二次,递减序列只有3,删除3,得到787323第三次,递减序列只有7,删

2012-09-29 11:29:03 6323 1

原创 原地矩阵旋转

题目:原地矩阵旋转,只使用O(1)空间进行旋转分析:假如是一个一维数组,我们很容易进行旋转,但是对于二维矩阵,没有好的思路,不过大体思路应该和一维类似,找到网上有人介绍,直接转载过来,还有点看不明白,但是代码实现了,作者是正确的。-------------------------------矩阵的存储结构是用一块线性内存来存储数据,然后记录宽度、高度,大致如下c

2012-09-17 14:52:17 1616 4

原创 连续的正数序列,使得和为指定值

题目:连续的正数序列,使得和为指定值分析:以前做过类似的题目,求解两个数字和为指定值这种题目,采用先排序,然后从两头开始查找的方式,这题其实也差不多,采用两个指针,不过这次两个指针同时从头开始查找,初始化时first指针指向1,second指针指向2,如果curr_sum小于指定的sum,second指针往后移东;相反,如果curr_sum大于指定的sum,first指针往后移动。

2012-09-17 10:59:16 769

原创 在一维坐标轴上有n个区间段,求重合区间最长的两个区间段。

题目:在一维坐标轴上有n个区间段,求重合区间最长的两个区间段。分析:这题和《编程之美》时间安排的题目类似,可以用队列来表示,首先按照各个区间的左数字进行排序,然后依次入队列尾,如果遇到区间的右数,从队列头找其对应的左数,如果队列头是不是其对应的左数,说明这个区间被其他区间完全包围,相反,如果是其对应的左数,寻找其后面另一个左数,那么他们之间的差就是该区间能够形成的最大重合,最后统计

2012-09-16 18:58:03 4845

转载 不改变正负数相对顺序重新排列数组

看到网上一个解法,空间复杂度O(1),时间复杂度O(nlogn)做一个小算法题,提提神一个未排序整数数组,有正负数,重新排列使负数排在正数前面,并且要求不改变原来的正负数之间相对顺序。思考的过程就略去了,直接说结果吧。我想到的算法,空间复杂度为O(1),时间复杂度为O(N*logN)。首先,定义这样一个过程为“翻转”:(a1,a2,...,am,b1,b2,...,

2012-09-16 11:02:09 1242

转载 各种字符串匹配算法总结

题目:一种可做特殊用途的字符串匹配算法http://www.ahcit.com/?p=1965这篇论文里面介绍了BF,KMP,ZZL等字符串匹配算法

2012-09-16 10:41:49 817

原创 动态数组和vector

网上看到有人写到动态数组的东西,感觉写的非常好,就直接转载过来了,其中有些小错误,帮他修改发上来。--------------------------------------------------------------------目录(?)[-]C/C++语言实现动态数组C数组的小问题动态数组的特征动态数组的实现随机访问动态增长C/C

2012-09-13 10:38:58 3901

转载 一致性hash算法 - consistent hashing

目录(?)[-]一致性 hash 算法( consistent hashing )基本场景hash 算法和单调性consistent hashing 算法的原理环形hash 空间把对象映射到hash 空间把cache 映射到hash 空间把对象映射到cache考察cache 的变动虚拟节点小结一致性 hash 算法( consistent hashing

2012-09-13 09:30:29 646

转载 高效使用VIM

高效使用vim (Efficient Editing With vim)原英文教程见 (Original tutorial in English)http://jmcpherson.org/editing.htmlAbout copyright: I sent e-mail to Jonathan McPherson (author of this tutorial

2012-09-11 22:29:31 1050

原创 寻找丑数

题目:我们称只包含因子2,3,5的数为丑数,比如9,但是14不是,因为包含因子7。我们要求找到前1500个丑数。分析:直观的方法就是穷举1,2,3...n,每次得到一个数,我们穷举它的因子2,3,5,穷除这些因子后,数最后只剩1,表示这个数是丑数,但是这种方法显然不好,计算量大。另一种方法,类似于筛选素数的方法,我们将已经得到丑数,乘上2,3,5,那么新生成的数也一定是丑数,关键问

2012-09-09 15:31:23 1154

原创 判断一个后序遍历是否正确

题目:一棵二叉查找树,得到一个后序遍历,判断这个后序遍历是否正确。分析:方法1,根据中序和后序根据中序和后序,可以唯一得到一棵二叉树。一棵二叉查找树的中序显然就是所有数字的正常排序,所以,我们首先将所有的后序得到的数字排序,时间复杂度是O(nlogn),然后根据后序和中序遍历,判断二叉树是否可以建立。总的时间复杂度就是O(nlogn)。方法2,直接利用查找二叉树的性质显

2012-09-09 15:00:47 1671

原创 蓄水池抽样问题

题目:微软电面问到的问题,前面提了一大堆背景,最后归结为一个问题,如何在连续的网络流量中,等概率随机抽取1个数据包。分析:参加电面时,还没看过蓄水池抽样问题,后来回来一搜,这就是典型的蓄水池抽样问题,不过当时自己也想到了一种解法,使用一个变量保存数据包,从1到i个数据包,每次遇到第i个数据包,以1/i的概率选取这个数据包,并且替换原来的数据包,这样到第n个数据包,我们能保证我们以1/n

2012-09-06 16:02:17 3198

原创 尾序列问题

问题:在《编程珠玑》一书中,提到字符串旋转问题,比如有字符串ab旋转得到字符串ba,那么可以通过(a'b')'得到,其中“ ' ”表示整个字符串旋转。在这个问题中,比如"abace"通过在不同位置旋转,可以得到"eabac","ceaba","aceab","bacea",将这些字符串按照字典排序,得到:abaceaceabbaceaceabaeabac这样得到尾序

2012-09-05 11:19:46 1578

原创 高效合并两个有序数组

问题:两个有序数组,合并成一个有序数组,假设第一个数组空间足够容纳两个数组。分析:考虑到a数组很大,可以直接在a数组上进行合并,但是要讲究效率。如果单纯从前往后合并,那么效率会非常低,因为a数组后面的数字需要不停的移动。换一种思路,我们采用从后往前合并,首先计算出总长度,设置一个指针从a数组最后往前移动。算法代码:#include #include #include us

2012-09-03 10:00:08 16146 7

原创 二维数组中的查找

问题:给定一个二维数组,这个二维数组的每行、每列数字都是递增的,查找某个整数是否在二维数组内。分析:这题和堆排序有类似,查找过程中从右上方的数字开始,如果该数字比查找的数字小,那么该数字所在行可以删除,不用继续考虑;如果该数字比查找的数字大,那么该数字所在列可以删除。这样,每次执行,都会删除一行或者一列,极端情况下,执行2n次。算法代码:#include #include

2012-09-02 20:46:38 1876 1

转载 蚂蚁从一个角爬到对角的平均时间

题目:一个unit cubic,一只蚂蚁在一个角,准备在这个cubic的edge上开始爬动。蚂蚁爬过一条边的时间为1,它在任意一个角的时候,往其他三个方向去的概率都是1/3.问蚂蚁从一个角爬到对角的平均时间是多少?分析:直接转载的:---------------------------------------一个unit cubic,一只蚂蚁在一个角,准备在

2012-09-02 11:25:01 1269

转载 计算可能组合数目的数学期望

题目:在一个盒子里面有N根绳子,这个N根绳子的中间部分放在盒子里面,不可见,但是这个N根绳子的两端露在盒子外面,所以我们能看到2N个绳头。 随机选取2个绳头并打结,直到所有的绳头都打上结。最后这些打结的绳子会形成许多环。请问环数目的期望值是多少?分析:以下内容直接从另外的博客转载的:------------------------------------------------

2012-09-02 10:33:37 1982

转载 向量旋转问题

问题:《编程珠玑》里面典型的向量旋转问题。分析:直接转载的,认为写的比较好--------------------------------------------------------问题描述如下:Rotate vector x[n] left by d positions. 把x[n]向左旋转d个位置。例如:当n=8, d=3, 把abcdefgh向左旋转3

2012-09-02 10:08:01 1060

原创 复杂链表的复制

问题:有一个复杂链表,其结点除了有一个m_pNext指针指向下一个结点外,还有一个m_pSibling指向链表中的任一结点或者NULL。结构体定义如下:struct complex_node{int value;struct complex_node *next;struct complex_node *sibling;};分析:简单的方法就是根

2012-09-01 17:05:08 651

原创 把数组排成最小的数

问题:输入一个正整数数组,将它们连接起来排成一个数,输出能排出的所有数字中最小的一个。例如输入数组{32,  321},则输出这两个能排成的最小数字32132。分析:采用比较的方式,通过分析发现,如果m和n两个数字连成新的字符串,如果该mn>nm,那么n应该放在m之前,这样产生的新字符串组成的数字最小,这样我们可以采用排序的方式,只是排序中,采用的比较函数compare不是原来的基

2012-09-01 16:19:52 607

原创 求解字符串中最长对称字符串长度

问题:输入一个字符串,输出该字符串中对称的子字符串的最大长度。比如输入字符串“google”,由于该字符串里最长的对称子字符串是“goog”,因此输出4。分析:暴力法,穷举所有的子字符串,然后判断字符串是否是对称字符串,如果是,则计算出长度和当前最长的字符串比较,如果长度更长,更新结果。这种解法的时间复杂度为O(n^2)*O(n),前面的O(n^2)表示字符串的总数数量级,后面的O

2012-09-01 15:26:59 2760

cc2431定位原理手册

This document describes the location engine implemented in the CC2431. CC2431 is a ZigBee system on chip, so it will be natural to use the location engine in a ZigBee network. This manual is written to be as general as possible and will not describe any protocol specific considerations.

2009-12-07

cc2430中文使用手册

CC2430/CC2431 是Chipcon 公司推出的用来实现嵌入式ZigBee 应用的片上系统。它支持 2.4GHz IEEE 802.15.4/ZigBee 协议。根据芯片内置闪存的不同容量,提供给用户3 个版本,即 CC2430-F32/64/128,分别对应内置闪存32/6 4/128 KB

2009-12-07

基于ARM嵌入式实验报告

嵌入式的实验报告,实现bmp和gif图在博创和周立功实验板上的显示!

2009-04-11

空空如也

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

TA关注的人

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