博客专栏  >  编程语言   >  算法

算法

OJ题解

关注
1 已关注
59篇博文
  • 分治法

    void perm(char a[],int start,int end) {     if(start==end)     {         printf("%s\n",a);         r...

    2016-06-08 20:49
    150
  • 水果篮子(母函数)

    题目: Description 西瓜的表弟小西瓜生病住院了,西瓜想去买一个水果篮子探望他。水果店里面有很多种类的水果篮子,价格相同,但是水果的搭配各不相同。西瓜突然想到了一个问题,现在水果店里面有...

    2016-07-28 20:48
    133
  • 链表部分逆置

    题目: 给定一个固定的单链表,输入两个数begin和end。将下标为begin到end之间的内容逆置。 给定的单链表为:0->2->4->6->8->10->12->14->16->18 测试数据确...

    2016-07-27 20:57
    191
  • 判断链表是否有环

    题目: 有一个链表,我们需要判断链表中是否存在环。有环则输出true,否则输出false。 输入有多行,每行为由空格分隔的两个整数m和n,m是当前结点的数据,n代表当前结点的指针域指向第n个结...

    2016-07-27 21:14
    203
  • 单调栈

    题目:地上从左到右竖立着 n 块木板,从 1 到 n 依次编号,如下图所示。我们知道每块木板的高度,在第 n 块木板右侧竖立着一块高度无限大的木板,现对每块木板依次做如下的操作:对于第 i 块木板,我...

    2016-08-09 21:24
    141
  • 堆排序

    从小到大排序,建立大根堆,每次将最后一个元素与堆顶交换,此时最大元素到堆尾,堆元素-1,自上而下维护大根堆,得到的数组即从小到大 #include using namespace std; clas...

    2016-09-17 21:52
    97
  • 哈夫曼编码

    首先统计每个字母在字符串里出现的频率,我们把每个字母看成一个结点,结点的权值即是字母出现的频率,我们把每个结点看成一棵只有根结点的二叉树,一开始把所有二叉树都放在一个集合里。接下来开始如下编码: 步骤...

    2016-09-17 23:51
    189
  • 两个栈实现队列

    两个栈stack1,stack2,入队时压入stack1,出队时将stack1中的元素弹出压入stack2中,并将stack2栈顶弹出,完成出队。

    2016-09-19 14:42
    147
  • 排序算法总结

    选择和快速排序为不稳定排序,其它为稳定排序。 插入排序: 将数据分为有序部分和待排序部分,每次将待排序部分的第一个元素在有序部分中找到插入的位置,并将其插入。 for(int i=0;i=0;j--)...

    2016-09-21 21:00
    112
  • 已知二叉树前序中序遍历重建二叉树

    中序遍历中根节点前的节点为左子树,根节点后的节点为右子树。 class Soultion{ public: struct TreeNode* reConstructBinaryTree(vect...

    2016-09-30 22:48
    150
  • 二叉树的深度

    最大深度 class Solution { public: int TreeDepth(TreeNode* pRoot) { if(pRoot==NULL) ...

    2016-10-27 11:27
    84
  • 二叉搜索树转化双向链表

    题目:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表 要求排序可以想到中序遍历,把根节点的左右子树都转换成排序好的双向链表,再将根节点左子树的最大值,右子树的最小值与根节点相连。...

    2016-10-30 13:21
    96
  • 不用加减乘除做加法

    写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 分析:肯定用位运算,模拟加法时首先将各位相加不进位,然后再算进位,最后相加。例如5+17=22,首先各位相加得到12,然...

    2016-11-15 21:39
    134
  • KMP算法详解

    一直以来对KMP算法理解的不是很透彻。看了左神的程序员代码面试指南后感觉基本明白了。 我们都知道KMP算法最重要的是next数组,next[i]的含义是在match[i]之前的字符串match[0....

    2017-03-04 18:00
    79
  • HDU2602(01背包)

    分析:01背包裸题 代码:#include #include #include #include #include using namespace std; int dp[1009]; int w[...

    2016-07-02 23:21
    104
  • HDU1231(DP)

    题目: Problem Description 给定K个整数的序列{ N1, N2, ..., NK },其任意连续子序列可表示为{ Ni, Ni+1, ...,  Nj },其中 1 例如...

    2016-07-30 21:35
    158
  • POJ1328(贪心)

    题目大意:x轴为河岸,给出小岛坐标,在河岸上建探测范围一定雷达,要求覆盖所有小岛,求雷达的最小个数。 分析:以小岛为圆心,探测半径画圆,与x轴交于ai,bi,求出所有区间并排序,如果两个区间有重叠,...

    2016-04-25 12:53
    154
  • POJ2524(并查集)

    大意:调查宗教,n个人m组数据,每组数据a,b表示a,b同一种,求一共几种。 分析:并查集。 代码: #include #include #include using namespace std...

    2016-04-25 12:55
    154
  • POJ2506(递推+高精度)

    题目大意:2xN放2x1和2x2的方块多少种放法。 分析:a[n]=a[n-1]+a[n-2]*2           2xN相当于2x(n-1)加一个竖着的方块,和2x(n-2)加两个竖...

    2016-04-25 12:56
    281
  • POJ2586(贪心)

    大意:每5个月(12345  23456...)提交一次报表,保证每次都是亏损的。每个月盈利s,亏损d,全年最大盈利。 分析:每次1个月亏损,2个月亏损。。。4个月亏损,依次求利润。 代码: #...

    2016-04-25 12:58
    174

img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部