题目: 题目来源:《编程之美》 把两个字符串变成相同的基本操作定义如下: 1. 修改一个字符(如把 a 变成 b) 2. 增加一个字符 (如 abed 变成 abedd) 3. 删除一个字符(如 jeddon 变成 jedon) 针对于 jeddon到jedon 只需要删除一个或增加一个 d 就可以
分类:
编程语言 时间:
2016-01-29 00:16:06
阅读次数:
212
在一个长度为n的数组中找出出现次数超过(n+1)/2次的数说明请参考编程之美中的2.3class Solution {public: int majorityElement(vector& nums) { int candidate; int ntimes,i...
分类:
其他好文 时间:
2016-01-16 22:33:03
阅读次数:
206
在一个数组中找出两个不同的仅出现一次的数(其他数字出现两次)同样用亦或来解决(参考编程之美的1.5)先去取出总亦或值然后分类,在最后一位出现1的数位上分类成 ans[0]和ans[1]a&(-a)就是计算出这个数,可以参考树状数组。最后就是注意(nums[i] & a) == 0要加()。注意符号运...
分类:
其他好文 时间:
2016-01-16 21:06:28
阅读次数:
347
01分数规划01分数规划问题其实就是解决单价之类的问题,假设给你n个物品,让你找出选k个物品的最大单价;例如南阳oj:Yougth的最大化;解决这类问题可以用二分查找,这类问题跟二分极大化最小值,极小化最大值有一些相似的地方,均是从结果出发,来进行二分查找;例如上面南阳那道题,可以转化一下;由于v/...
分类:
其他好文 时间:
2016-01-09 18:37:01
阅读次数:
216
题目: 亚洲微软研究院所在的希格玛大厦一共有6部电梯。在高峰时间,每层都有人上下,电梯每层都停。实习生小飞常常会被每层都停的电梯弄的很不耐烦,于是他提出了这样一个办法: 由于楼层并不算太高,那么在繁忙的上下班时间,每次电梯从一层往上走时,我们只允许电梯停在其中的某一层。所有乘客从一楼上电梯,到达.....
分类:
编程语言 时间:
2016-01-09 18:14:57
阅读次数:
270
题目: 有很多服务器存储数据,假设一个机器仅存储一个标号为ID的记录,假设机器总量在10亿以下且ID是小于10亿的整数,假设每份数据保存两个备份,这样就有两个机器存储了同样的数据。问题是:1.假设在某个时间得到一个数据文件ID的列表,是否能快速地找出表中仅出现一次的ID?即快速找出出现故障的机器存....
分类:
其他好文 时间:
2016-01-07 22:53:54
阅读次数:
222
看编程之美的时候遇到的struct {unsign char a:4;unsign char b:4;}i;查了一下,如下有些信息在存储时,并不需要占用一个完整的字节,而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1两种状态,用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提...
分类:
编程语言 时间:
2015-12-29 16:00:27
阅读次数:
178
一 提起位运算,人们往往想到它的高效性,无论是嵌入式编程还是优化系统的核心代码,适当的运用位运算总是一种迷人的手段,或者当您求职的时候,在代码中写入 适当的位运算也会让您的程序增加一丝亮点,最初当我读《编程之美》求“1的数目”时,我才开始觉得位运算是如此之美,后来读到《Hacker's Deligh...
分类:
其他好文 时间:
2015-12-13 21:48:28
阅读次数:
243
《编程之美》183页,问题2.14——求子数组的字数组之和的最大值。(整数数组)我开始以为可以从数组中随意抽调元素组成子数组,于是就有了一种想法,把最大的元素抽出来,判断是大于0还是小于等于0,如果大于0就对除了这个最大值外剩下的数组部分进行递归:using System;using System....
分类:
编程语言 时间:
2015-11-18 18:01:56
阅读次数:
268
对于《编程之美》P292上关于三角形测试用例的问题,题目是这样的:输入三角形的三条边长,判断是否能构成一个三角形(不考虑退化三角形,即面积为零的三角形),是什么样的三角形(直角、锐角、钝角、等边、等腰)。函数声明为:byte GetTriangleType(int,int,int)。 1. 如何用....