码迷,mamicode.com
首页 >  
搜索关键字:算法 递归    ( 98246个结果
埃及分解:将2/n分解成为1/x+1/y的格式
算法 古埃及曾经创造出灿烂的人类文明,他们的分数表示却很令人不解。古埃及喜欢把一个分数分解为类似: 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
leetcode第一刷_Plus One
这种类似大整数的处理的问题还是比较常见的,这道题应该是非常简单的版本。 题目的要求是这样的,输入的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
leetcode第一刷_Add Binary
二进制相加,本质上就是大整数加法,有关大整数加法我的舍友教过我一个很好的方法,先用一个int数组保存结果,将两个数对应位置相加,全部加完后,再统一处理进位的问题。这个方法同样适用于大整数的乘法。 这个题没什么特别的,注意一下进位别搞错了就行了,还有其实不用像我写的这么麻烦,可以一开始先判断哪个更长一些,交换一下。代码会简洁很多。class Solution { public: strin...
分类:其他好文   时间:2014-05-13 08:02:00    阅读次数:239
leetcode第一刷_Valid Number
又是那种看上去非常简单,但非常难过的问题,主要是所有的测试用例很难考虑全面。下面我列举出所有的情况: 1. 字符串前面是可以含有空格的,但是全部都是空格是不行的。 2. 一个数字开头可以是哪些字符呢?很容易想到的是“+”和“-”,但是别忘记还有小数点。 3. 一个数字中间也是可以含有字符的,比如科学计数法的“e”,而且e之后是可以接“+”或者“-”的。但是要注意e是不是作为数字的开头或者结尾...
分类:其他好文   时间:2014-05-13 07:16:48    阅读次数:232
leetcode -day13 Valid Palindrome & Triangle & Pascal's Triangle I II
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
完美代价
如何避开复杂的程序解决问题。...
分类:其他好文   时间:2014-05-13 06:16:24    阅读次数:197
leetcode第一刷_Text Justification
这个题的接受率好低,搞得我一直不敢做。后来认真的看了一下题目,不是很难嘛,字符串的题目ac率就是低,除了难,还因为它的测试用例太多。 思路不难,主要是因为特殊情况太多。纯模拟,我把所有的情况罗列一下,仔细一点的话就能写好了。 1. 当word为空,也就是""时,应该返回一行跟L数目相等的空格。这种情况需要提前判断和处理。 2. 当当前行不是最后一行时,应该尽可能多的放单词,单词不能截断,在这...
分类:其他好文   时间:2014-05-13 00:16:01    阅读次数:341
leetcode第一刷_Minimum Path Sum
可以用递归简洁的写出,但是会超时。 dp嘛。这个问题需要从后往前算,最右下角的小规模是已知的,边界也很明显,是最后一行和最后一列,行走方向的限制决定了这些位置的走法是唯一的,可以先算出来。然后不断的往前推算。 用distance[i][j]保存从当前位置走到最右下角所需的最短距离,状态转移方程是从distance[i+1][j]和distance[i][j+1]中选一个小的,然后再加上自身的。...
分类:其他好文   时间:2014-05-13 00:13:56    阅读次数:339
js280行代码写2048
2048 原作者就是用Js写的,一直想尝试,但久久未动手。 昨天教学生学习JS代码。不妨就做个有趣的游戏好了。2048这么火,是一个不错的选择。 思路: 1. 数组 ,2维数组4x4 2. 移动算法,移动后有数字的对齐,无数字(我用的0,但不显示)补齐。 移动前 移动后(注意程序合并了第一行2个2,并产生了新的2) 移动算法...
分类:Web程序   时间:2014-05-12 22:42:22    阅读次数:361
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!