自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 迷宫的最短路径

// 迷宫的最短路径:// 给定一个大小为N*M的迷宫。迷宫由通道和墙壁组成,每一步可以向邻接的上下左右的通道移动。//请求出从起点到终点所需的最小步数。注意,本题假设从起点一定可以到达终点。 const INF=10000000;typedef pair P;   //状态 //输入cahr maze[maxn][maxm+1];int N,M

2016-09-25 16:46:29 302

原创 水池问题

//水池问题://  有一个大小为N*M的园子,雨后积起了水。八连通的积水被认为是连在一起的,求园子里总共有多少水洼?//输入N,M。int  n,m;char field[maxn][maxm+1];//园子//现在的位子为x,y。void dfs(int x,int y){     field[x][y]='.';for(int

2016-09-25 16:45:39 785

转载 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。

解题思路:  这道题看似简单,其实BUG重重。要注意的问题:  1 关于次幂的问题特殊的情况,比如次幂为负数,或者基数为0时等等复杂的情况  2 机器中浮点数的比较是由误差的,因此double类型的比较,不能用简单的a==0来比较。一般的比较方式是,相减的差在一个很小的区间内,我们就认为是相等的。public class Solution {

2016-09-23 15:28:44 361

原创 利用两个队列模仿队列

已知栈的4个运算定义如下:Push(S,x)    //元素x入栈Pop(S,x)     //S出栈并将出栈的元素赋值给xStackEmpty(S)  //判断S是否为空StackOverflow(S)  //S是否满用以上的运算实现以下3个运算:进队列,出队列,判空。算法思想:利用两个栈s1和s2来模拟队列,当需要向队列中插入元素时,用s1来存放已输入的元素,即

2016-09-22 21:31:54 360

原创 给出树的先序和中序,求二叉树

//输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。//假设输入的前序遍历和中序遍历的结果中都不含重复的数字。//例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。// 思想://1. 先序得到根节点//2. 根据根节点将中序分为左右子树//3.重复1 2创建左右子树。 

2016-09-21 16:45:29 657

原创 替换

//请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 //注意输入string a时,若使用语句:cin>>a,则只能输入单个单词,到空格处不在读入。若要读入句子请使用:getline()函数读取一行。getline(cin,a).#include#includeu

2016-09-20 16:19:03 216

原创 数组

/*在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。*/ //思想:设所查找的数位t,从右上角开始比较a[0][n-1],若a[0][n-1]>t,则说明这一列的数都大于t,故左移变成a[0][n-2],若大于则继续左移,若小于则说明这一行的数都小于t,

2016-09-20 15:25:12 238

原创 中位数

两个n个元素的升序数组A[n],B[n],求这两个数组合并后的升序数组的中位数。问题分析;设A[n]的中位数为a,B[n]的中位数为b。若a=b,则中位数a或b;若a若a>b,则删除a后面的元素和b前面的元素,要求两个数组剩余的元素个数相同。直到两个数组都只剩一个元素,则较小的为中位数。由于要求元素个数相等所以要分为奇数和偶数两个情况。代码如下:int M_Se

2016-09-12 22:32:23 300

原创 象棋中的皇后

在 2*2的棋盘上放俩个相互攻击的皇后(一黑一白),一共有12中方法。如果棋盘是N*M的,有多少种放置两个相互攻击的皇后?例如n=100,m=233是答案为10907100.分析:   因为只有两个皇后,所以攻击的方式只有同行同列或同一对角线上。  A(m,n)表示同行的方法为nm(m-1);' B(m,n)表示同列的方法为nm*(m-1) D(m,n)表示同一对角线的

2016-09-08 10:03:04 472

原创 A+B

题目描述:给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号","隔开。现在请计算A+B的结果,并以正常形式输出。输入:输入包含多组数据数据,每组数据占一行,由两个整数A和B组成(-10^9 输出:请计算A+B的结果,并以正常形式输出,每组数据占一行。样例输入:-234,567,890 123,456,789

2016-09-05 21:42:43 247

原创 0-1背包问题

有n种物品,每种只有一个。第i个物品的体积为vi,重量为wi.选一些物品放在容量为c的容器内。使得背包内的物品的总体积不超过c的情况下重量尽量大。分析:         d(i,j)表示把物品i, i+1,..n放在容器为 j  的背包中的最大总体积。         d(i,j)=max(d(i+1,j),d(i+1,j-v[i])+w[i])   //状态转换方程下面是

2016-09-01 10:16:49 241

空空如也

空空如也

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

TA关注的人

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