【本文链接】

http://www.cnblogs.com/hellogiser/p/ali-2015-questions.html

1. 写一个函数,输入一个二叉树,树中每个节点存放了一个整数值,函数返回这棵二叉树中相差最大的两个节点间的差值绝对值。请注意程序效率。

 C++ Code 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 
/*
    version: 1.0
    author: hellogiser
    blog: http://www.cnblogs.com/hellogiser
    date: 2014/9/14
*/
struct BinaryTreeNode
{
    int value;
    BinaryTreeNode *left;
    BinaryTreeNode *right;
};

void PreOrder(BinaryTreeNode *root, int &max, int &min)
{
    if (root == NULL)
        return;
    if (max < root->value)
    {
        max = root->value;
    }
    if (min > root->value)
    {
        min = root->value;
    }
    PreOrder(root->left, max, min);
    PreOrder(root->right, max, min);
}

int MaxDiff(BinaryTreeNode *root)
{
    if (root == NULL)
        return INT_MIN;
    int min, max;
    min = max = root->value;
    PreOrder(root, max, min);
    return max - min;
}

2 给定一个query和一个text,均由小写字母组成。要求在text中找出以同样的顺序连续出现在query中的最长连续字母序列的长度。例如, query为“acbac”,text为“acaccbabb”,那么text中的“cba”为最长的连续出现在query中的字母序列,因此,返回结果应该为其长度3。请注意程序效率。

 C++ Code 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
 
/*
    version: 1.0
    author: hellogiser
    blog: http://www.cnblogs.com/hellogiser
    date: 2014/9/14
*/

#include "stdafx.h"
#include "iostream"
using namespace std;

void output_array(int **a, int len1, int len2)
{
    int i, j;
    ; i <= len1; i++)
    {
        ; j <= len2; j++)
        {
            cout << a[i][j] << " ";
        }
        cout << endl;
    }
    cout << endl;
}

int findstring(char *query, char *text)
{
    if(NULL == query || NULL == text)
    {
        ;
    }
    int len1 = strlen(text);
    int len2 = strlen(query);
    ];
    int i, j;
    ; i <= len1; ++i)
        arrays[i] = ]();
    ;
    ; i <= len1; i++)
    {
        ; j <= len2; j++)
        {
            ])
                arrays[i][j] = arrays[i - ;
            else
                arrays[i][j] = ;
            // get max of arrays
            if(max < arrays[i][j])
            {
                max = arrays[i][j];
            }
        }
    }

output_array(arrays, len1, len2);
    ; i <= len1; i++)
        delete [] arrays[i];
    delete [] arrays;
    return max;
}

void test_default(char *query, char *text)
{
    cout << findstring(query, text) << endl;
}

void test_case1()
{
    char *query = "acbac";
    char *text = "acaccbabb";
    test_default(query, text); // 3  cba
}

void test_main()
{
    test_case1();
}

int main()
{
    test_main();
    ;
}

【参考】

http://wenku.baidu.com/link?url=m7jMJ3tAoARQg6b1zAGnr451vCGBYRVzRqC_T2Rb8WwuQl_I3uJxyhPRQXvbJ_5cef03F5indLE-qFDuFxiBCU5drNXw1EgzzQUBSSnEhiG

ali2015校园招聘笔试大题的更多相关文章

  1. 九度OJ 1525 子串逆序打印 -- 2012年Google校园招聘笔试题目

    题目地址:http://ac.jobdu.com/problem.php?pid=1525 题目描述: 小明手中有很多字符串卡片,每个字符串中都包含有多个连续的空格,而且这些卡片在印刷的过程中将字符串 ...

  2. SAP校园招聘笔试

    一直就向往着SAP公司,终于,有幸今天参加了SAP校园招聘的笔试.下面我就来简单说说这个笔试的内容. 笔试分为两大部分,一部分是逻辑题,就是些什么阅读分析计算balabala的一堆,是全英文的.另外一 ...

  3. 优酷土豆2014校园招聘笔试题目之Java开发类

    先总体说下题型,共有20道选择题,4道简答题,3道编程题和1道扩展题,题目都比较简单,限时一小时完成. 一.选择题 选择题非常简单,都是基础题,什么死锁发生的条件.HashMap和HashSet查找插 ...

  4. 各大IT公司校园招聘程序猿笔试、面试题集锦

    转自:http://blog.csdn.net/hackbuteer1/article/details/7959921#t4 百度一面 1.给定一个字符串比如“abcdef”,要求写个函数编程“def ...

  5. google2013校园招聘笔试题(全国)

    google2013校园招聘笔试题 1. 单项选择题1.1如果把传输速率定义为单位时间内传送的信息量(以字节计算)多少.关于一下几种典型的数据传输速率:1.使用USB2.0闪存盘,往USB闪存盘上拷贝 ...

  6. 2018春季校园招聘笔经面经合集:Java开发岗

    2018春季校园招聘笔经面经合集:Java开发岗 以下为精选面经: 美团外卖配送部后台开发面经 nowcoder.com/discuss/76 春招总结,干货满满 nowcoder.com/discu ...

  7. 我是怎么和SAP结缘的 - Jerry的SAP校园招聘之路

    2006年9月,结束了一年的北京中科院实习后,我回到了电子科技大学,此时已经是研三上学期了.有着"金九银十"之称的秋季校园招聘正式开始了. 准备好了简历后,Jerry也加入了浩浩荡 ...

  8. C# - 2017微软校园招聘笔试题 之 MS Recognition[待解决]

    MS Recognition 在线提交: hihoCoder 1402 http://hihocoder.com/problemset/problem/1402 类似: OpenJudge - I:P ...

  9. 《PHP面试笔试真题库》——PHP面试的好帮手

    你好,是我琉忆. 一个文艺的PHP开发工程师. 很荣幸能够在这里带来我的第一本新书--<PHP程序员面试笔试真题库>. 一.创作过程 <PHP 程序员面试笔试真题库>是我的第三 ...

随机推荐

  1. [转]DIV+CSS和TABLE的区别

    现在全国大大小小的网站都在搞一场技术“革命”,就是所谓“网站重构”说简单点就是DIV+CSS进行网站制作.用DIV+CSS代替传统的Table制作框架和美化页面.百度搜索优化 在重构之前,肯定要了解为 ...

  2. GPUImage学习

    1.GLProgram--加载vertex和fragment的shader. 好处是完全将shader模块的加载过程独立出来. 学习:每个函数处理一件事,且函数的粒度刚好 在glLinkProgram ...

  3. dict内部方法

    代码: #dict内部方法 vdic={'name':'kamil','age':23} print(dir(vdic)) vdic1 = vdic.copy()#copy(self):浅拷贝 pri ...

  4. str内部方法

    代码 #str内部功能 name=' aK am\til.L iu' age=18 num=-11 ab='#' ac=('1','2','3','4','5','6','7') print(dir( ...

  5. linux下IPTABLES配置详解(转)

    如果你的IPTABLES基础知识还不了解,建议先去看看.开始配置我们来配置一个filter表的防火墙.(1)查看本机关于IPTABLES的设置情况[ ~]# iptables -L -nChain I ...

  6. Handler.dispatchMessage handleMessage

    "main@3972" prio=5 runnable java.lang.Thread.State: RUNNABLE at com.ease.financialoa.modul ...

  7. 高德地图3D版的使用方法

    坐标拾取器: http://lbs.amap.com/console/show/picker 其经纬度与LatLng()方法中的经纬度是对调的 SDK和实例下载: http://lbs.amap.co ...

  8. c++新特性与boost

    <Boost程序库探秘——深度解析C++准标准库>之试读 前一阵子还看到一篇文章,说C#要重蹈C++的覆辙,这里说的C++的覆辙是什么呢?是指C++语言过于臃肿的功能特性,导致学习人员的流 ...

  9. 改变字典内的value

    import re,os limit = "8000" username = "liuhuihuang" with open("users_dict& ...

  10. Java基础之理解Annotation(与@有关,即是注释)

    Java基础之理解Annotation 一.概念 Annontation是Java5开始引入的新特征.中文名称一般叫注解.它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata) ...