自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

转载 mule studio基础了解

文章原地址:http://my.oschina.net/OpenSourceBO/blog/174120Mule studio 了解概况:          Mule译为文,骡子、倔强之人它的图标确实也与骡子有几分神似。Mule是一个以java为基础的企业服务总线(ESB),该集成平台允许开发者在遵循SOA服务导向式架构方法学下快速便捷的将不同应用程序连接在一起交换数据。可

2015-10-13 10:56:00 772

原创 打印1到最大的N位数

题目描述:给定一个数字N,打印从1到最大的N位数。输入:每个输入文件仅包含一组测试样例。对于每个测试案例,输入一个数字N(1输出:对应每个测试案例,依次打印从1到最大的N位数。样例输入:1样例输出:123456789分析:这是一个大数问题,利用字符串模拟运算。#include#include#inc

2015-03-04 18:35:59 595

原创 数值的整数次方

题目描述:给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。输入:输入可能包含多个测试样例。对于每个输入文件,第一行输入一个整数T,表示测试案例的数目,接下来的T行每行输入一个浮点数base和一个整数exponent,两个数中间用一个空格隔开。输出:对应每个测试案例,输出一个浮点数代表答案,保留两位小数即可。

2015-03-04 11:44:59 559

原创 旋转数组的最小数字

题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。输入:输入可能包含多个测试样例,对于每个测试案例,输入的第一行为一个整数n(1输入的第二行包括n个整数,其中每个整数a的范围是(1输出:对应每个测试案例

2015-03-02 15:18:44 640

原创 常见排序算法总结

为加深排序算法的理解,总结一下常见的排序算法。排序算法的大致分类:(网上找的图)具体的实现:直接插入排序:基本原理为将待排序的数组分为有序区域和无序区域,每次将无序区域的一个数值插入到有序区域并排好序。最终实现排序。void InsertSort(int k[],int n){ int i, j, temp; for(i = 1; i < n; i

2015-02-27 19:41:24 606

原创 重建二叉树

题目描述:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并输出它的后序遍历序列。struct BinaryTreeNode{ int m_nValue; BinaryTre

2015-02-26 12:32:32 369

原创 替换空格

题目描述:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。输入:每个输入文件仅包含一组测试样例。对于每组测试案例,输入一行代表要处理的字符串。输出:对应每个测试案例,出经过处理后的字符串。第一种解法

2015-02-24 22:12:01 299

原创 二维数组中的查找

题目描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。输入:输入可能包含多个测试样例,对于每个测试案例,输入的第一行为两个整数m和n(1输入的第二行包括一个整数t(1接下来的m行,每行有n个数,代表题目所给出的m行n列的矩阵(矩阵如题目描述所示,每一行都

2015-02-24 20:35:11 296

原创 赋值运算符函数

题目描述:如下为类型CMyString的声明,请为该类型添加赋值运算符函数。class CMyString{public: CMyString(char* pData = NULL); CMyString(const CMyString& str); ~CMyString(void);private: char* m_pData;};分析:(1)

2015-02-24 12:54:41 316

原创 KMP算法

KMP算法是一种字符串匹配的高效算法,简单的匹配算法(BF算法)时间复杂度为O(m*n),KMP算法的时间复杂度为O(m+n)。例如:当主串S为ABCDEFGH,匹配串T为ABCDEX。(其中数组下标0来存放字符串长度)S串:ABCDEFGHT串:ABCDEX其中F与X不匹配,按照BF算法,应该S串右移一位,T串重新回到开始即:S串:ABCDEFGHT串:  ABCDEX

2015-02-18 15:08:03 499

原创 八数码问题

问题描述:编号为1~8的8个正方形滑块被摆成3行3列(有一个格子留空),每次可以把与空格相邻的滑块(有公共边才算相邻)移到空格中,而它原来的位置就成为了新的空格。给定初始局面和目标局面(用0表示空格),计算出最少的移动步数。如果无法到达目标局面,则输出-1。#include#include#include#include#includeusing namespace std;

2015-02-16 23:28:00 536

原创 分红酒

问题描述:有4个红酒瓶子,它们的容量分别是:9升, 7升, 4升, 2升    开始的状态是 [9,0,0,0],也就是说:第一个瓶子满着,其它的都空着。  允许把酒从一个瓶子倒入另一个瓶子,但只能把一个瓶子倒满或把一个瓶子倒空,不能有中间状态。这样的一次倒酒动作称为1次操作。  假设瓶子的容量和初始状态不变,对于给定的目标状态,至少需要多少次操作才能实现?

2015-02-16 19:28:17 827

原创 困难的串

问题描述:如果一个字符串包含两个相邻的重复的子串,则称它是“容易的串”,其他串称为“困难的串”。例如,BB、ABCDACABCAB、ABCDABCD都是容易的,而D、DC、ABDAB、CBABCBA都是困难的。输入正整数n和L,输出由前L个字符组成的、字典序第k小的困难的串。样例输入:7 330 3样例输出:ABACABAABACABCACBABCABACABCACBACA

2015-02-16 17:51:59 637

原创 素数环

问题描述:输入正整数n,把整数1,2,3,...,n组成的一个环,使得相邻两个整数之和均为素数。输出时从整数1开始逆时针排列。同一个环应恰好输出一次。n样例输入:6样例输出:1 4 3 2 5 61 6 5 2 3 4#include#include#include#includeint vis[100], A[100], isp[100];int n;

2015-02-15 20:25:31 447

原创 八皇后问题

问题描述:在棋盘上放置8个皇后,使得她们互不攻击,此时每个皇后的攻击范围为同行同列和同对角线,要求找出所有解。分析:经思考,恰好每行每列各放置一个皇后。如果用C[x]表示第x行皇后的列编号,则问题变成了全排列生成问题。0~7的排列一共只有8!=40320个,枚举量不会超过它。下面程序简洁地求解八皇后问题。在主程序中读入n,并为tot清0,然后调用search(0),即可得到解的个数tot。

2015-02-15 13:40:36 511

原创 子集生成

第一种方法:增量构造法,一次选出一个元素放到集合中,程序如下:#include#include#includevoid print_subset(int n,int *A,int cur){ for(int i = 0; i <cur; i++) printf("%d ",A[i]); printf("\n"); int s = cur ? A[cur

2015-02-14 16:23:45 315

原创 生成可重集的排列

输入数组p,并按字典序输出数组A各元素的所有全排列。#include#include#includevoid print_permutation(int n,int *p,int *A,int cur){ int i, j; if(cur == n) { for(i = 0; i < n; i++) printf("%d ",A[i]);

2015-02-11 19:20:58 446

原创 走迷宫

问题描述:一个网格迷宫由n行m列的单元格组成,每个单元格要么是空地要么是障碍物。任务是找一条从起点到终点的最短移动序列,其中UDLR分别表示上、下、左、右移动到相邻单元格。任何时候都不能在障碍格中,也不能走到迷宫之外。起点和终点保证是空地。n,m分析:可以通过BFS来按照到起点的距离顺序遍历迷宫图。然后在遍历出最短的路径序列。#include#include#include#

2015-02-08 16:40:00 800

原创 层次遍历

问题描述:输入一棵二叉树,你的任务是按从上到下、从左到右的顺序输入各个结点的值。每个结点都按照从根结点到它的移动序列给出(L表示左,R表示右)。再输入中,每个结点的左括号和右括号之间没有空格,相邻结点之间用一个空格隔开。每棵树的输入用一对空括号()结束。样例输入:(11,LL) (7,LLL)  (8,R) (5,) (4,L) (13,RL) (2,LLR) (1,RRR) (4,R

2015-02-08 15:14:55 554

原创 二叉树重建

二叉树递归定义它的先序遍历、中序遍历和后序遍历如下:PreOrder(T)=T的根节点+PreOrder(T的左子树)+PreOrder(T的右子树) InOrder(T)=InOrder(T的左子树)+T的根节点+InOrder(T的右子树) PostOrder(T)=PostOrder(T的左子树)+PostOrder(T的右子树)+T的根节点 问题描述:输入一颗二叉树的先

2015-02-08 14:49:36 339

原创 小球下落

有一棵二叉树,最大深度为D,且所有叶子的深度都相同。所有结点从上到下从左到右编号为1,2,3,...,2^D-1。在结点1处放一个小球,它会往下落。每个内结点上都有一个开关,初始全部关闭,当每次有小球落到一个开关上时,它的状态都会改变。当小球到达一个内结点时,如果该结点上的开关关闭,则往左走,否者往右走,直到走到叶子结点。一些小球从结点1处依次开始下落,最后一个小球将会落到哪里呢?输入叶子深度

2015-02-06 13:48:39 416

原创 Cantor的数表

题目描述如下数列,前5项分别是1/1,1/2,2/1,3/1,2/2……。输入n,输出第n项。1/1   1/2   1/3   1/4   1/52/1   2/2   2/3   2/43/1   3/2   3/34/1   4/25/1样例输入314712345样例输出2/12/

2015-02-04 13:12:12 364

原创 一摞烙饼的排序问题--读书笔记(2)

问题描述:一摞大小不一的饼,由于一只手托着盘子,只好用另一只手,一次抓住最上面的几块饼,把它们上下颠倒个,反复几次使烙饼安装由小到大排好序。假设有n块大小不一的饼,最少需要翻几次使烙饼排好序。分析与解法:首先,经过两次翻转可以把最大的烙饼翻转到最下面,因此,最多需要把上面的n-1个烙饼依次翻转两次。那么至多需2(n-1)次翻转就可以把所有烙饼排好序。当然还有更高效的方法,考虑每次翻

2015-01-29 14:48:33 635

原创 中国象棋将帅问题--读书笔记(1)

问题描述:中国象棋中只剩下两个棋子,将帅不能出九宫格,只能横向或者纵向移动,不能沿对角线移动,将帅不能处于同一纵向直线上。写出一个程序,要求只能使用一个变量。解法一:本题要求使用一个变量,想到位运算。对于一个8位的byte类型能够表达28=256个值,所以用它来表示A,B两个的位置信息完全足够。因此可以把这个字节的变量分为两部分。其那面的4bit表示A的信息,后面4bit表示B的信息。4bit

2015-01-26 22:46:14 451

转载 文件的打开模式和文件对象方法

文件打开模式打开模式执行操作'r'以只读方式打开文件(默认)'w'以写入的方式打开文件,会覆盖已存在的文件'x'如果文件已经存在,使用此模式打开将引发异常'a'以写入模式打开,如果文件存在,则在末尾追加写入'b'以二进制模式打开文件

2015-01-19 23:48:02 362

转载 字符串格式化符号含义

符   号   说     明     %c   格式化字符及其ASCII码     %s   格式化字符串     %d   格式化整数     %o   格式化无符号八进制数     %x   格式化无符号十六进制数

2015-01-19 23:46:36 588

转载 字符串的方法及注释

capitalize()  把字符串的第一个字符改为大写  casefold()  把整个字符串的所有字符改为小写  center(width)  将字符串居中,并使用空格填充至长度width的新字符串  count(sub[,start[,end]])  返回sub在字符串里边出现的次数,

2015-01-19 23:42:29 478

转载 JAVA的Date类与Calendar类【转】

Date类在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理。这里简单介绍一下Date类的使用。1、使用Date类代表当前系统时间                   Date d = new Date();                   Syste

2014-03-07 16:16:42 418

原创 UVa 112 Tree Summing

题意不难理解,水题,不必建树,可以直接字符操作。 #include#include#include#includeint n;int sum[105];char str;int main(){// freopen("D:\\1.txt","r",stdin); while(scanf("%d",&n) != EOF) { bool flag = false, l

2013-09-16 18:50:20 415

原创 UVa 101 - The Blocks Problem

题目大意:有n个木块,对木块进行如下操作:1、move a onto b:上述的a和b都是板子的标号。将板子a放到b上面,且将a和b板子上的所有的板子都放回他们的初始位置。2、move a over b:上述的a和b都是板子的标号。将板子a放到b板子所在堆的最上面,且将板子a上的所以板子都放回他们的初始位置。3、pile a onto b:上述的a和b都是板子的标号。将

2013-09-12 20:06:48 393

原创 UVa 127 - "Accordian" Patience

题目大意:有52张牌,每张牌分别第一个字符是牌的大小,第二个字符是牌的花色。首先按照顺序将每张牌列出来,从后往前看,当某张牌的大小或花色和它前面一张牌或者它前面的第三张牌相同时,就将这张牌放在那张牌上面。当既和前一张牌相同又和前面第三张相同,优先将牌放到前面第三张上面。最后统计每摞牌的张数。 #include#include#include#include#include#inc

2013-09-12 15:08:37 401

原创 6.3.2 层次遍历

#include#include#include#define MAX 256char s[MAX + 10];int failed;int n = 0, ans[MAX];typedef struct Node{ int have_value; int v; struct Node *left, *right;} Node;Node *root;Node* newno

2013-09-09 22:30:02 445

原创 UVa 340 - Master-Mind Hints

英文不好,刚开始读不懂题意,看了好久,才明白。题目大意是:两行数字比较,括号中第一个数字是两行数字同一列数字相同的个数,第二个数字是两行数字不同列相同的个数,比较的过的相同数字的列下次就不再比较。 我的代码:#include#include#includeint a[1005], b[1005], c[2], d[2][1005];int main(){// freop

2013-09-08 13:26:45 373

原创 Android文件下载

看了mars老师的Android视频,真心不错,文件下载的方法,整理一下。一、文件下载方法:1. 使用HTTP协议下载文件2. 将下载的文件写入SDCARD二、文件下载的具体步骤:1.    创建一个HttpURLConnection对象HttpURLConnection urlConn = (HttpURLConnection)url.openConnecti

2013-09-06 21:32:53 616

原创 Activity的生命周期

onCreate: Activity初次创建时被调用,一般在这里创建view,初始化布局信息,将信息绑定到list以及设置监听器等等。如果Activity首次创建,本方法会调用onStart();如果Activity是停止后重新显示,则调用onRestart()。 onStart:当Activity对用户即将可见的时候被调用,其后调用onResume(); onRestart:当A

2013-09-06 21:11:40 522

原创 UVa 10494 - If We Were a Child Again

#include#include#includechar s[1000];int a[1000], res[1000];long b;char ch;int main(){ while(scanf("%s %c %ld",s,&ch,&b) != EOF) { int len = strlen(s); int k = 0; long num = 0; for

2013-09-05 21:37:41 485

原创 UVa 748 - Exponentiation

import java.math.BigDecimal;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner cin = new Scanner(System.in); BigDecimal R, res; String str; int n

2013-09-05 20:14:07 413

原创 UVa 465 - Overflow

#include#include#include#define MINT 0x7fffffffchar str1[1000], str2[1000], ch;int main(){ while(scanf("%s %c %s",str1,&ch,str2) != EOF) { printf("%s %c %s\n",str1,ch,str2); double a, b;

2013-09-04 22:32:13 430

原创 UVa 10106 - Product

import java.math.BigInteger;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner cin = new Scanner(System.in); BigInteger a, b; while(cin.hasNext()){

2013-09-04 21:25:34 474

原创 UVa 424 Integer Inquiry

import java.math.BigInteger;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner cin = new Scanner(System.in); BigInteger sum, a; sum = BigInteger.ZER

2013-09-04 19:10:19 400

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除