博客专栏  >  综合   >  算法学习

算法学习

针对不同的算法题,运用所学的算法知识一一解答。

关注
6 已关注
29篇博文
  • [面经]CVTE的两道笔试编程题

    晚上状态有点不好,然后就仓促参加笔试了。前面很多道选择题,真是坑,都是多选(混杂了多道单选)。下面就说说笔试题的两道编程题吧。其实我做的时候也是挺紧张的,随意符合题意的做完提交,也没加以优化,其实如果...

    2016-03-05 22:49
    8161
  • [算法学习]给定一个整型数组,找出两个整数为指定整数的和(3)

    问题描述: 设计一个类,包含如下两个成员函数: Save(int input) 插入一个整数到一个整数集合里。 Test(int target) 检查是否存在两个数和为输入值。如果存...

    2016-01-28 14:07
    5327
  • [算法学习]斐波那契数计算

    问题描述: Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。 分析: 这里有两种解法,一种是用递归,一种使用循环。用递归的解法看起来很很简单,...

    2016-02-03 14:24
    5806
  • [算法学习]输入遍历重建二叉树

    问题描述: 假设二叉树中的值都不重复, (1) 输入前序遍历和中序遍历的结果,输出该二叉树; (2) 输入中序遍历和后序遍历的结果,输出该二叉树。 分析: (1) 由...

    2016-02-03 14:25
    5326
  • [算法学习]两个栈实现一个队列

    问题描述: 用两个栈实现一个队列,实现两个方法:入队appendTail,出队deleteHead 分析: 第一眼就能想到两个做法, (1) 入队麻烦出队容易: 声明...

    2016-02-03 14:27
    4901
  • [算法学习]后缀表达式转二叉树

    问题描述: 输入后缀表达式,输出后缀表达式的二叉树。 解法与分析: 1. 根据后缀表达式的特点,我们可以知道,只要是运算符的就都是根结点。 2. 我们这里需要使用一个栈来保存字...

    2016-02-18 13:33
    7333
  • [算法学习]树的广度遍历

    问题描述: 从上层向下层遍历,从左向右打印出一棵树 。 解法与分析: 广度遍历,按照从左向右的方式,我们可以使用队列来保存每一层的结点,每次结点出队,将出队结点的子结点入队,直至队列为空...

    2016-02-18 13:35
    5668
  • [算法学习]树的镜像

    问题描述: 输出树的镜像。 解法与分析: 根结点不变,左右子树交换。按照这一点进行递归,就可以解决问题。 参考代码如下public static TreeNode mirror(TreeN...

    2016-02-18 13:46
    6053
  • [算法学习]树的子结构

    问题描述: 判断树A是否是树B的子结构。 解法与分析: 使用递归的方式很容易解决。先进行根结点比较,相等的话,递归左右子树。 参考代码如下public static boolean isI...

    2016-02-18 13:47
    6616
  • [算法学习]打印树的路径

    问题描述: 输入一个整数sum和一棵二叉树,打印出二叉树中结点和为sum的所有路径。 (路径:从根结点往下一直到叶结点形成的一条路径。) 解法与分析: 1. 需要从树上的根结点遍历到...

    2016-02-18 13:48
    7279
  • [算法学习]二叉搜索树转双向链表

    问题描述: 将一棵二叉搜索树转成一条排序好的双向链表。要求不能创建新结点。 解法与分析: 1. 由于左子树<根结点<右子树,所以双向链表的头结点是二叉搜索树左子树中的最后一个左结点,...

    2016-02-18 13:49
    6903
  • [算法学习]栈的出栈序列

    问题描述: 输入数字不重复的两组整数序列:压栈的序列A,出栈的序列B,验证AB是否为同一栈的序列。 解法与分析: 1. 使用两个指针pA,pB分别在两个序列A,B上遍历。 2....

    2016-02-18 13:50
    7675
  • [算法学习]栈中的最小值

    问题描述: 实现栈的pop、push、 min (得到栈中最小值)方法。 解法与分析: 1. 由于每次压栈和出栈都可能会改变栈中的最小值,所以,我们增加一个存放最小值的栈。 2...

    2016-02-18 13:51
    7314
  • [算法学习]计算出二进制数中1的个数

    问题描述: 计算出二进制数中1的个数。 解法一:循环计数 解法与分析: 使用一个数1来“与”二进制数中每一位,若值为1则1的个数加一。 参考代码如下/** * 通过flag左移做一个循环来与nu...

    2016-02-18 13:52
    7321
  • [算法学习]反转链表

    问题描述: 输入一条链表,将链表反转后返回。 解法一:用递归 解法: 由于反转后头结点会成为尾结点,尾结点会成会头结点。所以从头结点开始反转前后结点关系。比较简单,所以这里直接贴出代码。 参考代码...

    2016-02-18 13:52
    6978
  • [算法学习]合并两个排序的链表

    问题描述: 合并两个排序的链表。 解法一:用递归 解法: 递归比较结点大小:每次递归,取出两个链表的头结点来比较,比较小的结点加入新链表中。 参考代码如下/** * 用递归 * @param...

    2016-02-18 13:53
    6971
  • [算法学习]Java实现字符串全排列

    思路:这里用到递归的方式完成字符数据的全排列,递归确实很方便。看似没用到辅助空间,实际上却是消耗了栈空间(“递归栈”),递归用起来也不是那么简单,解决问题用递归的时候,一定要关注到两个零界点,怎么开始...

    2016-01-25 13:42
    5861
  • [算法学习]给定一个整型数组,找出两个整数为指定整数的和(1)

    问题描述:给定一个整型数组,是否能找出其中的两个数使其和为某个指定的值?(假定是无序数组) 解法一:暴力破解(穷举法,不提倡) /** * 暴力破解 * (穷举,时间复杂度:...

    2016-01-28 14:05
    6268
  • [算法学习]给定一个整型数组,找出两个整数为指定整数的和(2)

    问题描述:给定一个整型的数组,找出其中的两个数使其和未指定的值,返回两个数的数组下标(假定是无序数组,数组元素各不相同,要求时间复杂度为O(n),n为数组长度,可以使用辅助空间) 分析:时间...

    2016-01-28 14:06
    7368
  • [算法学习]判断链表是否是环结构

    问题描述: 判断链表是否是环结构。 解法与分析: 用两个指针的方法判断。 1. 第一个指针在第一个结点,第二个指针在第二个结点处; 2. 两个指针同时移动,第一个指针每次移动一个...

    2016-02-18 13:54
    7062

Android学习
735901
Java学习
734018

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