namespace test4 {/* 4.写一个控制台应用程序,接收一个长度大于3的字符串,完成下列功能: 1)输出字符串的长度. 2)输出字符串中第一个出现字母a的位置. 3)在字符串的第3个字符后面插入子串"hello",输出新字符串. 4)将字符串"hello"替换为"me",输出新字符串. 5)以字符"m"为分隔符,将字符串分离,并输出分离后的字符串. */ class Program { static void M…
//统计一个长度为2的字符串在另外一个字符串中出现的次数. #include <conio.h> #include <stdio.h> #include <string.h> #include <stdlib.h> int fun(char *str, char *substr) { char *z, *c; z = str; c = substr; ; while (*z!='\0') { if (*z== *c) { z++; c++; if (*z =…
//对长度为7的字符串,除首尾字符外,将其余5个字符按ASCII降序排序. #include <stdio.h> #include <ctype.h> #include <string.h> void fun(char *s,int num) { int t,i,j,k;//使用指针 s++; ; i < num-; i++) { k = ; ; j < num - ; j++) { if (*s < *(s + k)) { t = *s; *s =…
two pointers思想 ---- 利用两个i, j两个下标,同时对序列进行扫描,以O(n)复杂度解决问题的一种思想, 如果能用这种思想解决问题,那么会大大降低程序的复杂度. 两个利用这个思想的例子: 1. 分析: 代码: while (i < j){ if (a[i] + a[j] == m){ printf("%d %d\n", i, j); i++; j++; } else if (a[i] + a[j] < m){ i++; } else{ j++; } } 2…
有两个序列A和B,A=(a1,a2,...,ak),B=(b1,b2,...,bk),A和B都按升序排列.对于1<=i,j<=k,求k个最小的(ai+bj).要求算法尽量高效. int *min_k(int *A, int *B, int len1, int len2, int k) { if (A == NULL || B == NULL || k <= 0) return NULL; int i, j; int *tmp = new int[k]; i = len1; j = len…
/** 题目:A Simple Nim 链接:http://acm.hdu.edu.cn/showproblem.php?pid=5795 题意:给定n堆石子,每堆有若干石子,两个人轮流操作,每次操作可以选择任意一堆取走任意个石子(不可以为空) 或者选择一堆,把它分成三堆,每堆不为空.求先手必胜,还是后手必胜. 思路: 组合游戏Nim: 计算出每一堆的sg值,然后取异或.异或和>0那么先手,否则后手. 对于每一堆的sg值求解方法: 设:sg(x)表示x个石子的sg值.sg(x) = mex{sg…
前言 最近工作中需要写一个算法,而写完这个算法我却发现了一个很有意思的事情.需要的这个算法是这样的:对于A,B两个字符串,找出最多K个公共子串,使得这K个子串长度和最大.百度之没有这样的算法,然后就开始想了一些乱七八糟的想法,一一被自己举反例推翻了,直到最后找到了正确算法,我觉得这个思考过程值得记录一下. 思考过程 错误想法1:每次找最长公共子串,找到一个子串后,从A,B两个字符串中删除这个子串,之后在剩下的串中再找最长公共子串,像这样找K次. 举个反例: A=KABCDELMABCDEFGNF…
问题: 给出两个单词word1和word2,写一个函数计算出将word1 转换为word2的最少操作次数. 你总共三种操作方法: 1.插入一个字符 2.删除一个字符 3.替换一个字符 格式: 输入行输入两个字符串 word1 和 word2,最后输出将 word1 转换为 word2的最少操作次数. 例如:输入 word1 = "mart" word2 = "karma" 输出 3 准备知识: 编辑距离及编辑距离算法 代码实现: 1. def d(m, n): if…
/// <summary> /// 类说明:Assistant /// 编 码 人:苏飞 /// 联系方式:361983679 /// 更新网站:http://www.sufeinet.com/thread-655-1-1.html /// </summary> using System; using System.Collections.Generic; using System.Text; using System.Text.RegularExpressions; namesp…
问题 K: 周期串plus 时间限制: 1 Sec  内存限制: 128 MB提交: 682  解决: 237[提交] [状态] [命题人:外部导入] 题目描述 如果一个字符串可以由某个长度为k的字符串重复多次得到,我们说该串以k为周期.例如abcabcabcabc以3为周期(当然他也以6,12为周期).输入一个长度不超过100000的串,输出他的最小周期. 输入 多组测试数据,每组仅一行为一个仅有大写字母组成的字符串. 输出 对于每组数据输出该字符串的最小周期. 样例输入 复制样例数据 HOH…