随笔分类 - 算法实践
摘要:算法原理 a和b的最大公约数一定等于b和a除b的余数(a%b)的最大公约数。比如63和28的最大公约数等于28和63%28=7的最大公约数,即等于28和7的最大公约数,又等于7和28%7=0的最大公约数7 代码如下
阅读全文
摘要:比如[1,2,3,4,5],排列结果可以是[1,5,3,4,2] 代码:
阅读全文
摘要:给定整数n,依次输出1,2,3,……直到n位最大整数。 比如n=2,输出应该是:1,2,3,……,98,99 这道题中如果ntebie大,则不能使用数字来表示,因为可能会溢出。因此需要使用数组来表示。 当n=2时,用数组array={0,0}来表示可能的值。则array可能的情况有{0,0},{0,
阅读全文
摘要:有如下公式: 因此我们求解a^n时,可以先求解r=a^(n/2) 比如求解r=3^5,先求解3^(5-1)/2=3^2=9,因此3^5=9×9×3=243 注:我们需判断a是否为零,n的正负情况 代码:
阅读全文
摘要:给定一个已排序的二维数组array,在其中查找一个元素value 查找策略如下图: (1)将value和数组的右上角的值比较,如果大于右上角的值,则移除数组的第一行。 (2)将value和数组的左下角的值比较,如果大于左下角的值,则移除数组的第一列。 (3)直到查找完毕,已经找不到符合(1)(2)的
阅读全文
摘要:题目描述 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 分析 如下图所示,先将每个节点复制后,放到该节点后面,完成复制后,再拆分。
阅读全文
摘要:初级 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 分析 台阶只有一阶,则有1种跳法,f(1)=1。 台阶只有两阶,则有2中跳法,f(2)=2。 当最后一次跳一级,剩下的n-1级则有f(n-1)种跳法。 当最后一次跳两级,剩下的n-2级则有f(
阅读全文
摘要:题目如下 对于一个长度为N的整型数组A, 数组里所有的数都是正整数,对于两个满足0<=X <= Y <N的整数,A[X], A[X+1] … A[Y]构成A的一个切片,记作(X, Y)。 用三个下标 m1, m2, m3下标满足条件 0 < m1, m1 + 1 < m2, m2 +1 < m3 <
阅读全文
摘要:实际问题:n个城市之间修建公路,使得所有城市可以互相到达,求解修建的最短公路长度 使用最小生成树算法
阅读全文
摘要:题目: 给定一个矩阵,元素1表示可走路径,0表示不可走路径,从左上角开始,目标是值为9的坐标点,判断是否有一个路径到达目的地。如: 1 0 0 0 1 0 1 1 0 0 1 0 0 1 1 9 0 0 0 0 0 1 0 0 该矩阵存在到达数值为9的点的路径 分析: 采用回溯思想 代码
阅读全文
摘要:题目: 给出一个二维矩阵,矩阵元素为1或0,计算由1构成的独立不连通的区域数目,斜角为1也算连通。如以下矩阵: 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 1 连通域的个数为2. 分析: 建立一个集合list保存已经标记的坐标,循环遍历每一个点,当该点的值为1并且未被标记的话
阅读全文
摘要:题目描述: 最大的奇约数 小易是一个数论爱好者,并且对于一个数的奇数约数十分感兴趣。一天小易遇到这样一个问题: 定义函数 f(x) 为 x 最大的奇数约数,x为正整数。 例如:f(44) = 11. 现在给出一个N,需要求出 f(1) + f(2) + f(3)…….f(N) 例如: N = 7 f
阅读全文
摘要:题目描述: 如果一个数字序列逆置之后跟原序列是一样的就称这样的数字序列为回文序列。例如: {1, 2, 1}, {15, 78, 78, 15} , {112} 是回文序列, {1, 2, 2}, {15, 78, 87, 51} ,{112, 2, 11} 不是回文序列。 现在给出一个数字序列,允
阅读全文
摘要:题目如下: 字符串只包含‘A’,'B','C',对于一个任意长度的字符串,如果存在连续的3个字符同时包含"A","B""C",那这个字符串是纯净的,否则称为暗黑字符串。比如“BCBBACBBCA”就是纯净字符串,“ABBAACCBBA”就是暗黑字符串。 input:一个整数,表示字符串的长度 out
阅读全文
摘要:参考文章:http://www.360doc.com/content/13/0601/00/8076359_289597587.shtml https://www.topcoder.com/community/data-science/data-science-tutorials/dynamic-p
阅读全文