17 October 2013

IMG-THUMBNAIL

公司是做建筑方面的建模工具产品。没有面试机会。

###卷一

#####1. 实现一个函数,把一个字符串中的字符从小写转为大写。

解析。

#####2. 给定一个二叉树的根结点R,写一个函数返回该二叉树是否为平衡二叉树。 二叉树的结点定义如下:

struct node {
    int data;
    struct node* left;
    struct node* right;
}

#####3. 写一个函数,将两个有序的Key-Value数组按Key累加得到一个新的有序数组。 例: 数组 1 1, 400 4, 700 5, 100 数组 2 1, 300 2, 500 3, 400 4, 200 按Key累加之后得到新的数组 1, 700 2, 500 3, 400 4, 900 5, 100 Key-Value定义:

typedef struct keyvalue {
    int key;
    double value;
} 函数接口:

void sumKeyValueArray(const keyvalue aArray1[], int nLen1, const keyvalue aArray2[], int nLen2, keyvalue aResult[], int &nResultLen);

#####4. 不开辟和用于交换数据的临时空间,如何完成字符串的逆序。 C语言的函数头为:void change(char* str);

不开辟临时空间交换值可以使用异或操作或者加法来实现,可以参考《3种交换值的方法》

Golang实现

#####5. 一个学生的信息包括:姓名,学号,性别,年龄等信息,用一个链表保存所有学生的信息,给出一个age,在链表中删除学生年龄等于age的学生信息。 typedef struct student { char name[20]; char sex; int no; int age; student* next; };

###卷六

#####4. 在字符串中找出第一个只出现一次的字符,如输入”abaccdeff”,则输出’b’。

#####5. 设计一个算法,把一个含有N个元素的数组循环右移K位,要求时间复杂度为O(N),空间复杂度为O(1)。

原文链接:广联达2014校园招聘笔试,转载请注明来源!

EOF