最长公共子序列
来源:互联网 发布:java 替换特殊字符 编辑:程序博客网 时间:2024/06/16 10:33
O(n²)的suanfa
#include<iostream>#include<stdio.h>#include<algorithm>#include<cstring>using namespace std;int main(){ char x[505],y[505]; int sum[505][505],i,j,len1,len2; while(gets(x)) { gets(y); len1=strlen(x); len2=strlen(y); memset(sum,0,sizeof(sum)); for(i=1;i<=len1;i++) { for(j=1;j<=len2;j++) { if(x[i-1]==y[j-1]) sum[i][j]=sum[i-1][j-1]+1; else sum[i][j]=max(sum[i-1][j],sum[i][j-1]); } } printf("%d\n",sum[len1][len2]); } return 0;}
O(nlogn)的算法。
感觉楼主说的很对,就直接贴过来了。
#include <iostream>using namespace std;int BinSeach(int &item, int *a, int left, int right){ while (left<right) { int mid = (left + right) / 2; if (item > a[mid] && item <= a[mid + 1]) return mid; else if (item < a[mid]) right = mid - 1; else left = mid + 1; } }int main(){ int a[] = { 1, 7, 3, 5, 9, 4, 8 }; int n = sizeof(a) / sizeof(int); int b[sizeof(a) / sizeof(int)]; b[0] = a[0]; int len = 1; int j = 0; for (int i = 1; i < n;i++) { if (a[i]>b[len - 1]) j = len++; else j = BinSeach(a[i], b, 0, len - 1)+1; b[j] = a[i]; } cout << len << endl; for (int i = 0; i < len;i++) { cout << b[i] << " "; } return 0;}
这个是求出最大公共子串的和的点击打开链接
#include <stdio.h>int N;int data[1001];int dp[1001];int MIS(){ int i, j; int max; for (i = 1; i <= N; ++i){ dp[i] = data[i]; for (j = 1; j < i; ++j){ if (data[i] > data[j] && dp[i] < dp[j] + data[i]){ dp[i] = dp[j] + data[i]; } } } max = -1; for (i = 1; i <= N; ++i){ if (max < dp[i]) max = dp[i]; } return max;}int main(void){ int i; while (scanf("%d", &N) != EOF){ for (i = 1; i <= N; ++i){ scanf("%d", &data[i]); } printf("%d\n", MIS()); } return 0;}
0 0
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列...
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- ZOJ 3953 Intervals
- 玩转树莓派-RaspBerry,使用Python开发定制界面
- android 表情的输入 Unicode实现表情展示 无需图片素材及相关解析
- WebService之CXF框架应用中篇
- 170415 汇编 综合设计程序1和标志寄存器
- 最长公共子序列
- hive更改表列的类型不生效
- 可更改(mutable)与不可更改(immutable)对象
- 在JavaScript中获取不重复的随机数
- CoffeeScript 简介
- 网络爬虫初探(初学阶段性总结&未来发展窥探)
- 学习笔记:自编码神经网络 TensorFlow(代码)
- MySQL学习系列二---MySQL函数
- Palindromes