自主创业协会
安阳师范学院自主创业学会,供大家学习参考使用
我是协会的副会长,欢迎安师软件19级的学弟学妹们加入我们哦。
黄大仙No.1
黄大仙
展开
-
零子数组
给定一个数组,求最接近0的连续子序列的和的绝对值是多少 算法思想: 基于以下事实: sum[j]-sum[i-1]=a[i]+…+a[j] (j>i) 1.由此结论,将sum数组排序,则相邻两项的sum之差的绝对值一定比非相邻的sum的差的绝对值要小,求出最小的差值 2.除此之外另一种情况为sum[i]本身也可能是最小值,所以记录最小的sum[i] 3.以上两种情况的最小值即为答案 ...原创 2019-08-19 22:52:15 · 136 阅读 · 0 评论 -
编辑距离
状态转移方程: if(!&&!j)dp[i][j]=0; else if(!i&&j>0)dp[i][j]=j; else if(i>0&&!j)dp[i][j]=i; else if(i>0&&j>0)dp[i][j]=min(dp[i-1][j]+1,dp[i,j-1]+1,dp[i-1][j-1]+f(i...原创 2019-08-19 19:27:10 · 72 阅读 · 0 评论 -
打印沙漏
L1-002 打印沙漏 (20 分) 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印 ***** *** * *** ***** 所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。 给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可...原创 2019-08-17 23:31:38 · 89 阅读 · 0 评论 -
字符串循环左移时间复杂度O(N)空间复杂度O(1)的算法
字符串循环左移 基于以下事实: 设str="123456456789"需要往左移动6位,则可分解为: str1=“123456”,str2=“456789” 那么str1’=“654321”,str2’=“987654”; 于是str2’+str1’=“987654654321”,(str1’+str2’)’="456789123456"即为所求字符串,由于逆转需要O(N)的时间,一共进行三次逆转...原创 2019-08-19 20:40:37 · 667 阅读 · 1 评论 -
并查集讲解
所谓并查集,实际上可以认为是对集合的合并与查找,所以下面从集合开始讲解。 假设有集合A:1 2 3 4 5,集合B:6 7 8 9 0;假设此时有一个条件导致A中的随便一个数与B中的随便一个数在一个集合内,那么很显然AB将会合并成一个更大的集合。 接下来考虑算法: 对一个数组f[50]来说,先对其进行初始化,即: for(int i=0;i<50;i++) f[i]=i; f[i]的含义为...原创 2019-08-22 23:46:58 · 334 阅读 · 0 评论 -
C语言基础代码
回文串 bool judge(string str){ int len=str.length(); for(int i=0;i<len/2;i++){ if(str[i]!=str[len-i-i]) return false; } return true; } 判断素数 素数从2开始判,0是偶数,奇数偶数可为负。 bool isPrime(int n){ ...原创 2019-10-22 12:51:49 · 822 阅读 · 0 评论