Can I fly high in the Sky?

Never say never.

导航

随笔分类 -  数据结构与算法

摘要:照旧,先上下我的暴力破解法:#include #include #include using namespace std;string ToLower(string ss){ string::iterator itr; for(itr=ss.begin();itr!=ss.end();i... 阅读全文

posted @ 2015-09-08 22:25 lsr_flying 阅读(550) 评论(0) 推荐(0)

摘要:#include using namespace std;int value[3]={5,3,1};int weight[3]={1,1,3};int num[3]={0,0,0};int BuyHen(int money,int i){ if(i==2) { if(mon... 阅读全文

posted @ 2015-09-08 16:33 lsr_flying 阅读(231) 评论(0) 推荐(0)

摘要:该程序只满足匹配第一个相同的字符串,对于出现第二个相同字符的字符串无法解决。#include #include #include using namespace std;int IsMatch(string rule,string sub){ int k=0; int c=0; while(k>ru... 阅读全文

posted @ 2015-09-08 13:49 lsr_flying 阅读(992) 评论(0) 推荐(0)

摘要:这里提供自己解二十四点的思路。总的思路就是用类似递归思想:(1)在4个数中选两个数进行运算,与另外两个数放在一起,执行步骤(2); 判断步骤(2)返回结果,为1,返回结果1;为0,继续下一个运算,直至结束,返回结果0;(2)在3个数中选两个数进行运算,与另一个数放在一起,执行步骤(3); 判... 阅读全文

posted @ 2015-09-06 16:18 lsr_flying 阅读(772) 评论(0) 推荐(0)

摘要:题目描述把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1是同一种分法。输入每个用例包含二个整数M和N。0*@paramm苹果数目*@paramn盘子数目数*@return放置方法总数**/publicstaticintcount(... 阅读全文

posted @ 2015-09-03 13:25 lsr_flying 阅读(247) 评论(0) 推荐(0)

摘要:111112321136763114101619161041以上三角形的数阵,第一行只有一个数1,以下每行的每个数,是恰好是它上面的数,左上角数到右上角的数,3个数之和(如果不存在某个数,认为该数就是0)。求第n行第一个偶数出现的位置。如果没有偶数,则输出-1。例如输入3,则输出2,输入... 阅读全文

posted @ 2015-09-01 20:10 lsr_flying 阅读(463) 评论(0) 推荐(0)

摘要:算法本身效率很低,但感觉比较简洁,所以自己记录了下。华为的测试用例才一个,通过是通过了,但觉得根本没法检查这段程序的正确性,个人觉得逻辑上没错。 1 #include 2 #include 3 #include 4 5 using namespace std; 6 7 int fama(i... 阅读全文

posted @ 2015-09-01 15:32 lsr_flying 阅读(990) 评论(0) 推荐(0)

摘要:DescriptionN位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1, 2, …, K,他们的身高分别为T1, T2, …, TK,则他们的身高满足T1 Ti+1 > … > TK (1 2 #... 阅读全文

posted @ 2015-08-26 00:17 lsr_flying 阅读(253) 评论(0) 推荐(0)

摘要:Wrong Answer: 1 /************************************************************************/ 2 /* Manacher算法,求解最长回文字符串! ... 阅读全文

posted @ 2015-08-23 22:56 lsr_flying 阅读(250) 评论(0) 推荐(0)

摘要:1 //比较两个字符串大小 2 bool compareSub(char* const s1,char* const s2) 3 { 4 int i=0; 5 while((itoupper(s2[i]))10 return false;11 ... 阅读全文

posted @ 2015-08-20 14:25 lsr_flying 阅读(509) 评论(0) 推荐(0)

摘要:大数相乘的实现,在这里,采用最直接的实现方法:类似于手工计算,逐位相乘。 1 #include 2 3 using namespace std; 4 5 //反转字符,使其符合数组低位为数字低位 6 void reverseNum(char* s1) 7 { 8 int i=0; 9 ... 阅读全文

posted @ 2015-08-20 11:08 lsr_flying 阅读(161) 评论(0) 推荐(0)

摘要:链接:http://hihocoder.com/problemset/problem/1038?sid=469496accept代码: 1 #include 2 #include 3 using namespace std; 4 5 int dp[501][100001]; 6 int nee... 阅读全文

posted @ 2015-08-18 16:40 lsr_flying 阅读(185) 评论(0) 推荐(0)

摘要:回溯法,简单理解就是有源可溯。基本思想要借鉴穷举法,但是它不是一味地穷举,当发现某一步不符合条件时,这一步后面的穷举操作就不进行了(俗称“剪枝”),我自己把它叫做动态穷举法。假设第一个步骤可行,那么执行第二个步骤,第三个......如果其中第三个步骤不行,那么我们再回过来(回溯),第二个步骤换一种方... 阅读全文

posted @ 2015-08-13 18:55 lsr_flying 阅读(1623) 评论(0) 推荐(0)

摘要:对于创建一棵二叉树,首先想到的方法是使用递归思想进行。这里,采用先序递归创建二叉树。首先介绍下自己写的二叉树的定义:1 typedef int TElementType;2 3 typedef struct BiTNode4 {5 TElementType data;6 BiTNod... 阅读全文

posted @ 2015-05-15 12:36 lsr_flying 阅读(252) 评论(0) 推荐(0)

摘要:1 void reverse(char* str, int begin, int end) 2 { 3 char temp; 4 for( ; begin < end; begin++) 5 { 6 temp = str[end]; 7 st... 阅读全文

posted @ 2015-05-08 18:43 lsr_flying 阅读(424) 评论(0) 推荐(0)

摘要:Description小Hi最近在玩一个字符消除游戏。给定一个只包含大写字母"ABC"的字符串s,消除过程是如下进行的:1)如果s包含长度超过1的由相同字母组成的子串,那么这些子串会被同时消除,余下的子串拼成新的字符串。例如"ABCCBCCCAA"中"CC","CCC"和"AA"会被同时消除,余下"... 阅读全文

posted @ 2015-05-08 18:18 lsr_flying 阅读(343) 评论(0) 推荐(0)

摘要:简单算法O(n^2):冒泡法=i;j--) { if(sortList[j]sortList[j]) minIndex=j; } if(minIndex!=i) swap(sortList,i,minIndex); }}直接插入排序 1 void DirectInsertionS... 阅读全文

posted @ 2015-04-28 21:14 lsr_flying 阅读(311) 评论(0) 推荐(0)