广联达2014校园招聘笔试
17 October 2013
公司是做建筑方面的建模工具产品。没有面试机会。
###卷一
#####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种交换值的方法》
#####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–