- 博客(7)
- 收藏
- 关注
原创 选择子序列
长度为N的整数数组A,所有的数均不相同,假设下标从0开始。找到一个最长的数组B,B数组的长度为K,数值范围是0 - N - 1,记录的是A数组的下标。满足A[B[0]] > A[B[1]] > A[B[2]] >...A[B[K]],并且对任意连续的两项B[i]及B[i + 1],满足min(B[i],B[i + 1]) Input第1行:一个数N,表示A数组的长度。(1 <=
2016-08-25 22:00:48
639
原创 回文串划分
有一个字符串S,求S最少可以被划分为多少个回文串。例如:abbaabaa,有多种划分方式。a|bb|aabaa - 3 个回文串a|bb|a|aba|a - 5 个回文串a|b|b|a|a|b|a|a - 8 个回文串其中第1种划分方式的划分数量最少。Input输入字符串S(S的长度Output输出最少的划分数量。Input示例abbaabaaOutput示例3
2016-08-25 16:39:56
277
原创 leetcode Edit Distance
#include#include#include#includeusing namespace std;/*题目描述:给定两个字符串,输出将两个字符串转化为相同的字符串所需的最少的操作步数。其中每步的操作规则如下:(1)删除某个字符(2)插入某个字符(3)替换某个字符求解方法:动态规划,优化后空间复杂度为O(n)*/void mDistance(string &word1, stri
2016-08-05 17:13:27
240
转载 linux命令的简称
man: Manual 意思是手册,可以用这个命令查询其他命令的用法。pwd:Print working directory 意思是密码。su:Swith user 切换用户,切换到root用户cd:Change directory 切换目录ls:List files 列出目录下的文件ps:Process Status 进程状态mkdir:Make
2016-07-28 17:23:38
242
原创 数字序列
思路:由于数字序列与7作模运算(mod7),而且每个数只与前面紧邻的两个数有关,因此,最多7*7次之后会出现序列会出现环,也即是50次之内必然出现环,因此可先求出前50次的子序列的值,然后通过比较判断出现环的起始及结束位置,以此为基础将n的值等价于前50次内某个值。本代码在求环起始与结束位置时,使用nums[i]*7+nums[i+1]记录,当再次出现该值时,则表示该值为环的起始位置,环的大小为当前出现该值的位置减去第一次出现该值的位置
2016-05-17 21:33:23
606
原创 出现次数最多的字符串
编程思路:通过map记录每个字符串出现的次数,每次判断当前字符串出现的次数是否大于Max值,实时对max值及result进行更新。#include#include#includeusing namespace std;int main(){ int n; map mp; while(scanf("%d",&n)==1&&n!=0) { int max=0; strin
2016-05-17 20:18:47
375
原创 大数相加 C/C++
#include#include#includechar num1[1002];char num2[1002];char res[1002];/相加结果//大数相加void add(char *num1,char*num2){memset(res,0,sizeof(res));int n1=strlen(num1);int n2=strlen(num2)
2016-05-17 19:44:15
324
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅