算法
古埃及曾经创造出灿烂的人类文明,他们的分数表示却很令人不解。古埃及喜欢把一个分数分解为类似: 1/a + 1/b 的格式。
这里,a 和 b 必须是不同的两个整数,分子必须为 1
比如,2/15 一共有 4 种不同的分解法(姑且称为埃及分解法):
1/8 + 1/120
1/9 + 1/45
1/10 + 1/30
1/12 + 1/20
那么, 2/45 一共有多少个不同的...
分类:
其他好文 时间:
2014-05-14 01:22:54
阅读次数:
365
这种类似大整数的处理的问题还是比较常见的,这道题应该是非常简单的版本。
题目的要求是这样的,输入的vector靠前的位置是数字的高位,因此应该先求出长度,然后从后面往前算。维护一个变量保存进位,这我就不说了。结果的vector怎么办呢?因为最后有可能有个总的进位,比如999加1,结果的vector会比输入的多出一位,因此结果还是从前往后存简单一些。最后如果有进位,就多push_back一个1,然...
分类:
其他好文 时间:
2014-05-14 00:31:48
阅读次数:
312
上得厅堂,下得厨房,写得代码,翻得围墙,欢迎来到睿不可挡的每日一小练!
题目:等值数目
内容:已知两个整数数组f[]与g[],它们的元素都已经从小到大排列好,而且两个数组中的元素都各不相同。例如,f[]中有1,3,4,7,9,
而g[]中有3,5,7,8,10。试编写程序算出这两个数组之间有多少组相同的元素。...
分类:
其他好文 时间:
2014-05-13 08:14:14
阅读次数:
233
二进制相加,本质上就是大整数加法,有关大整数加法我的舍友教过我一个很好的方法,先用一个int数组保存结果,将两个数对应位置相加,全部加完后,再统一处理进位的问题。这个方法同样适用于大整数的乘法。
这个题没什么特别的,注意一下进位别搞错了就行了,还有其实不用像我写的这么麻烦,可以一开始先判断哪个更长一些,交换一下。代码会简洁很多。class Solution {
public:
strin...
分类:
其他好文 时间:
2014-05-13 08:02:00
阅读次数:
239
又是那种看上去非常简单,但非常难过的问题,主要是所有的测试用例很难考虑全面。下面我列举出所有的情况:
1. 字符串前面是可以含有空格的,但是全部都是空格是不行的。
2. 一个数字开头可以是哪些字符呢?很容易想到的是“+”和“-”,但是别忘记还有小数点。
3. 一个数字中间也是可以含有字符的,比如科学计数法的“e”,而且e之后是可以接“+”或者“-”的。但是要注意e是不是作为数字的开头或者结尾...
分类:
其他好文 时间:
2014-05-13 07:16:48
阅读次数:
232
1、
??
Valid Palindrome
Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.
For example,
"A man, a plan, a canal: Panama" is a palindrom...
分类:
其他好文 时间:
2014-05-13 07:06:35
阅读次数:
284
这个题的接受率好低,搞得我一直不敢做。后来认真的看了一下题目,不是很难嘛,字符串的题目ac率就是低,除了难,还因为它的测试用例太多。
思路不难,主要是因为特殊情况太多。纯模拟,我把所有的情况罗列一下,仔细一点的话就能写好了。
1. 当word为空,也就是""时,应该返回一行跟L数目相等的空格。这种情况需要提前判断和处理。
2. 当当前行不是最后一行时,应该尽可能多的放单词,单词不能截断,在这...
分类:
其他好文 时间:
2014-05-13 00:16:01
阅读次数:
341
可以用递归简洁的写出,但是会超时。
dp嘛。这个问题需要从后往前算,最右下角的小规模是已知的,边界也很明显,是最后一行和最后一列,行走方向的限制决定了这些位置的走法是唯一的,可以先算出来。然后不断的往前推算。
用distance[i][j]保存从当前位置走到最右下角所需的最短距离,状态转移方程是从distance[i+1][j]和distance[i][j+1]中选一个小的,然后再加上自身的。...
分类:
其他好文 时间:
2014-05-13 00:13:56
阅读次数:
339
2048 原作者就是用Js写的,一直想尝试,但久久未动手。
昨天教学生学习JS代码。不妨就做个有趣的游戏好了。2048这么火,是一个不错的选择。
思路:
1. 数组 ,2维数组4x4
2. 移动算法,移动后有数字的对齐,无数字(我用的0,但不显示)补齐。
移动前
移动后(注意程序合并了第一行2个2,并产生了新的2)
移动算法...
分类:
Web程序 时间:
2014-05-12 22:42:22
阅读次数:
361