算法
YASHUPIAN
这个作者很懒,什么都没留下…
展开
-
【排列组合】【直通BAT算法精讲】卡特兰数
卡特兰数的理解1.【排列组合题】有N对括号,输出所有合法的组合总排列数左括号数为n,右括号数为n,可以得到总排列数为C(2n, n)。上式可以理解为:从2n个位置里选择n个左括号填入。不合法的组合记左括号(——>1,右括号)——>-1,在n = 3的时候观察下面一种情况:( ) ) ( ( )对应的表示为序列1 -1 -1 1 1 -1其中,( ) )(也就是“...原创 2019-07-14 16:16:05 · 288 阅读 · 0 评论 -
【数组】荷兰国旗问题
1.先看一个简单的例子题干如下:给定一个数组arr, 和一个数num, 请把小于等于num的数放在数组的左边, 大于num的数放在数组的右边。要求:要求额外空间复杂度O(1), 时间复杂度O(N)。解法一:public static int[] changeArrByNum(int[] arr, int num) { int left = 0; for (int i = 0...原创 2019-07-15 21:49:57 · 190 阅读 · 0 评论 -
【排列组合】【递归】【直通BAT算法精讲】n封信的问题
n封信问题有n个信封,分别装了1封信共n封信。现在把信拿出来,再装回去,要求:每封信不能装回它原来的信封,问有多少种装法?对于n封信根据题目要求总共的装法记为f(n)假设第n封信(或者第1封信、第2封信也行)放入第i个信封中情况一:第i封信也放入了第n个信封中,后序有f(n-2)情况二:第i封信没有放入第n个信封中,后序有f(n-1)对于情况二的理解:假设第1封信放入了第2个信封,第...原创 2019-07-16 19:46:58 · 606 阅读 · 0 评论 -
【编程题】立体表面积
【题目描述】将长度N*M厘米的矩形区域均匀划分成N行M列(长度均为1厘米),在第i行第j列分比放上Aij个百年长为1厘米的立方体(1<=Aij<=100),所有立方体形成一个立体图形。求该立体图形的表面积。【输入】第一行输入两个整数N和M,1<=N, M<=100;接下俩N行,每行输入M个整数,第i行的第j个数字表示Aij【输出】输出表面积的大小【示例输入】...原创 2019-08-15 22:15:10 · 877 阅读 · 0 评论