今天面试碰到的题目,将1开始的自然数按照顺时针顺序填充到二维数组中,要求输入矩阵的 高度M 和 长度N, 输出填充后的矩阵, 效果如下图的效果所示: 当时头脑有点发懵,想了半天边界条件没写好,回去路上思考了一下,解决这个问题可以分两步考虑: 1, 给一个mXn的矩阵,和矩阵的开始坐标 x,y,顺序填 ...
分类:
编程语言 时间:
2016-09-20 00:15:22
阅读次数:
171
Given a column title as appear in an Excel sheet, return its corresponding column number. For example: 思路: 相当于26进制转10进制,要注意A从1开始而不是从0开始的边界条件。 解法: ...
分类:
其他好文 时间:
2016-09-04 15:42:27
阅读次数:
132
递归两个基本要素: (1) 边界条件:确定递归到何时终止,也称为递归出口。 (n = 1)(2) 递归模式:大问题是如何分解为小问题的,也称为递归体。(n*(n-1)! n>1) 例:累加 输出结果为: 例:递归 输出结果为: ...
分类:
编程语言 时间:
2016-08-31 11:54:29
阅读次数:
163
考虑d(i,j)表示切割点i到j这段距离的最小花费,于是d(i,j)=min(d(i,k)+d(k,j))+a[j]-a[i] ,其中j<k<i,边界条件d(i,i)=d(i,i+1)=0,最终求d(0,n+1),复杂度o(n^3),可采用记忆化搜索。 ...
分类:
其他好文 时间:
2016-08-20 21:50:55
阅读次数:
116
用dp[i][j]表示i时刻在车站j还需要等待的最小时间。很容易得到边界条件dp[T][n]=0,dp[T][1...n-1]=INF;我们要求的便是dp[0][1].考虑每次的三个决策: 1)等待1分钟 2)搭乘向右的车(如果有) 3)搭乘向左的车(如果有) dp[i][j]=max(dp[i+1 ...
分类:
其他好文 时间:
2016-08-17 21:25:12
阅读次数:
124
UniquePaths:给定m*n矩阵,从(0,0)到(m-1,n-1)路径条数。只能向下向右走。 算法分析:这和爬楼梯问题很像,到(m,n)的路径数是到(m-1,n)和(m,n-1)路径和。第一行,第一列,为边界条件。 UniquePaths2:在上一题基础上,矩阵为1的点是障碍。求路径数。 ...
分类:
其他好文 时间:
2016-08-15 18:48:00
阅读次数:
143
struct node { node*pleft; node*pright; int value; } voide rebuild(char *pre,char *pmid,int len ,node**root) { //检查边界条件 if(pre==null&&pmid==null||len<= ...
分类:
其他好文 时间:
2016-08-14 21:57:11
阅读次数:
116
选择题20个,每个1.5,编程题3个,每个20,简答题1个10分。 解: 第二题,一开始喵了一眼,好开心,这不是水题么,第一反应想到的是递归,然后马上就写了,结果case10%,一脸蒙蔽,数据值很大,考虑边界条件也比较困难。 递归: 结束后和学弟讨论了下,学弟教我可以反向打表,时间换空间,把符合条件 ...
分类:
编程语言 时间:
2016-08-07 13:53:43
阅读次数:
234
数学上曲面的连续光滑形变可以通过最小化能量函数来建模得到,其中能量函数用来调节曲面的拉伸或弯曲程度,那么能量函数最小化同时满足所有边界条件的最优解就是待求曲面。 能量函数通常是二次函数形式: 其中S*代表关于曲面参数u和v的k阶偏导。 对于上述优化问题的求解方法,通常利用变分法得到对应的Euler- ...
分类:
编程语言 时间:
2016-07-29 18:52:47
阅读次数:
218
介绍 在实际项目中有个功能的实现需要解析一些特定模式的字符串。而在已有的代码库中,在已实现的部分功能中,都是使用检测特定的字符,使用这种方法的缺点是: 逻辑上很容易出错 很容易漏掉对一些边界条件的检查 代码复杂难以理解、维护 性能差 看到代码库中有一个cpp,整个cpp两千多行代码,有个方法里,光解... ...
分类:
其他好文 时间:
2016-06-21 22:13:47
阅读次数:
136