
算法
坤舆小菜鸡
学习学习,努力敲代码
展开
-
算法--编辑距离问题
该动态规划方程借鉴博客 https://www.cnblogs.com/littlepanpc/p/7895810.html 代码如下: #include<stdio.h> #include<string.h> //将A转换为B所用的最少字符操作数称为A到B的编辑距离,记为Shortest_Distance[A][B] char a[100]; char b[100]; int Shortest_Distance[100][100]; int Edit_distance(int .原创 2020-11-13 16:47:37 · 237 阅读 · 0 评论 -
算法--集合划分问题
问题描述: n个元素的集合{1,2,.,n }可以划分为若干个非空子集。例如,当n=4 时,集合{1,2,3,4}可以划分为15个不同的非空子集如下: {1},{2},{3},{4}}, {{1,2},{3},{4}}, {{1,3},{2},{4}}, {{1,4},{2},{3}}, {{2,3},{1},{4}}, {{2,4},{1},{3}}, {{3,4},{1},{2}}, {{1,2},{3,4}}, {{1,3},{2,4}}, {{1,4},{2,3}}, {{1,2,3},{4}},原创 2020-10-30 16:57:07 · 1399 阅读 · 0 评论 -
算法--半数集问题
问题描述: 给定一个自然数n,由n 开始可以依次产生半数集set(n)中的数如下。 (1) n∈set(n); (2) 在n 的左边加上一个自然数,但该自然数不能超过最近添加的数的一半; (3) 按此规则进行处理,直到不能再添加自然数为止。 例如,set(6)={6,16,26,126,36,136}。半数集set(6)中有6 个元素。 注意半数集是多重集。 算法设计: 对于给定的自然数n,计算半数集set(n)中的元素个数。 输入: 6 输出: 6 代码: #include<stdio.h>原创 2020-10-30 16:54:52 · 1550 阅读 · 0 评论 -
算法--众数问题
·问题描述: 给定含有n个元素的多重集合S,每个元素在S中出现的次数称为该元素的重数。多重集S中重数最大的元素称为众数。 例如:S={1,2,2,2,3,5}。多重集S的众数是2,其重数是3. 算法设计: 对于给定的由n个自然数组成的多重集S,计算S的众数和重数。 数据输入: 输入数据由文件名为input.txt的文本文件提供。文件第一行为多重集S中元素的个数n;在接下来的n行中,每行有一个自然数。 结果输出: 将计算结果输出到文件output.txt。输出文件有两行,第一行是众数,第二行是重数。 输入:原创 2020-10-30 16:49:42 · 1666 阅读 · 1 评论 -
算法--有重复元素的排列问题
如果运行报错的话,就把for循环里面的int i挪到外面,因为我当时写的时候文件后缀名是cpp,用c做后缀的话就挪出来吧。 #include<stdio.h> #include<stdlib.h> int n; int num=1; bool isEmpty(int a[],int l,int m,int r){ int i,j; for(i=l,j=m+1;i<=m,j<=r;i++,j++){ if(a[i]!=a[j]){ return false原创 2020-10-24 21:38:20 · 1062 阅读 · 1 评论