小米2016/9/23部分笔试题目

原创 2016年12月26日 16:44:23
2016年9月23日, 星期五
1、 中序序列为 ABCDEFG  后序序列为 BDCAFGE   左子树中结点数为多少?(4)
2、用二进制0/1串对字符串 “babacada”进行编码,需要根据这个编码,能够解码回原来的字符串,最适合需要多长的二进制字符串?(14)


3、树的高度 

时间限制:C/C++语言 1000MS;其他语言 3000MS
内存限制:C/C++语言 65536KB;其他语言 589824KB

题目描述:

现在有一棵合法的二叉树,树的节点都是用数字表示,现在给定这棵树上所有的父子关系,求这棵树的高度

输入

输入的第一行表示节点的个数n1<=n<=1000,节点的编号为0n-1)组成,

下面是n-1行,每行有两个整数,第一个数表示父节点的编号,第二个数表示子节点的编号

输出

输出树的高度,为一个整数

 

样例输入

5

0 1

0 2

1 3

1 4

样例输出

3

 

Hint


(Java答案)
 package com.company;

import java.util.Scanner;

public class Main {

    public static int n;
    public static int left[] = new int[1000];
    public static int right[] = new int[1000];

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        n = scanner.nextInt();

        for(int i = 0; i < n; i++){
            left[i] = -1;
            right[i] = -1;
        }
        scanner.nextLine();

        boolean ifChild[] = new boolean[n];

        for(int i = 0; i < n - 1; i++) {
             String line = scanner.nextLine();
             int r = Integer.parseInt(line.split(" ")[0]);
             int child = Integer.parseInt(line.split(" ")[1]);
                if (left[r] == -1) {
                    left[r] = child;
                } else {
                    right[r] = child;
                }
            ifChild[child] = true;
        }

        int rootNum = 0;
        for (int i = 0; i < n; i++){
            if(ifChild[i] == false){
                rootNum = i;
                break;
            }
        }

        System.out.println(height(rootNum));
    }
    public static int height(int root){

        if(root == -1){
            return 1;
        }

        int leftheight = height(left[root]);
        int rightheight = height(right[root]);

        return leftheight > rightheight ? leftheight : rightheight + 1;
    }
}





4、句子反转

时间限制:C/C++语言 1000MS;其他语言 3000MS
内存限制:C/C++语言 65536KB;其他语言 589824KB

题目描述:

给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割单词之间只有一个空格,前后没有空格。

比如:

1 “hello xiao mi”-> “mi xiao hello”

输入

输入数据有多组,每组占一行,包含一个句子(句子长度小于1000个字符)

输出

对于每个测试示例,要求输出句子中单词反转后形成的句子

 

样例输入

hello xiao mi

样例输出

mi xiao hello



(C++答案)

1.#include <iostream>  

2.#include <string.h>  

3.using namespace std;  

4.int main()  

5.{  

6.    int n,i,j;  

7.    char str[100];  

8.    cin>>n;  

9.    getchar();  

10.     while(n--)  

11.     {  

12.         gets(str);  

13.         int len=strlen(str);  

14.         for(i=0,j=len-1;i<=j;i++,j--)  

15.         {  

16.             char temp=str[i];  

17.             str[i]=str[j];  

18.             str[j]=temp;  

19.         }  

20.         j=0;  

21.         int k,p;  

22.         for(i=0;i<=len;i++)  

23.         {  

24.             if(str[i]==' '||str[i]=='\0')  

25.             {  

26.                 for(k=j,p=i-1;k<p;k++,p--)  

27.                 {  

28.                     char temp=str[k];  

29.                     str[k]=str[p];  

30.                     str[p]=temp;  

31.                 }  

32.                 j=i+1;  

33.             }  

34.         }  

35.         for(i=0;i<len;i++)  

36.             cout<<str[i];  

37.         cout<<endl;  

38.     }  

39.     return 0;  

}  



   

5、电话号码分身

时间限制:C/C++语言 1000MS;其他语言 3000MS
内存限制:C/C++语言 65536KB;其他语言 589824KB

题目描述:

首先将电话号码中的每个数字加上8取个位,然后使用对应的大写字母代替

"ZERO", "ONE", "TWO", "THREE", "FOUR", 

"FIVE", "SIX", "SEVEN", "EIGHT", "NINE"),

然后随机打乱这些字母,所生成的字符串即为电话号码对应的分身。

输入

第一行是一个整数T1<=T<=100)表示测试样例数;接下来T行,每行给定一个分身后的电话号码的分身(长度在310000之间)。

输出

输出T行,分别对应输入中每行字符串对应的分身前的最小电话号码(允许前导0)。

 

样例输入

4

EIGHT

ZEROTWOONE

OHWETENRTEO

OHEWTIEGTHENRTEO

样例输出

0

234

345

0345

版权声明:本文为博主原创文章,未经博主允许不得转载。

小米2017校园招聘笔试题

句子反转 时间限制:C/C++语言 1000MS;其他语言 3000MS 内存限制:C/C++语言 65536KB;其他语言 589824KB 题目描述: 给定一个句子(只包含字母和空格), ...
  • lezong2011
  • lezong2011
  • 2016年09月23日 21:44
  • 1598

19道小米网络运维工程师笔试真题,你能通关吗?

第一部分:Linux基础 题目1: 有一百个图片文件,它们的地址都是 http://down.xiaomi.com/img/1.png http://down....
  • Ki8Qzvka6Gz4n450m
  • Ki8Qzvka6Gz4n450m
  • 2017年11月15日 00:00
  • 176

2016 小米笔试

一个长度为n的字符串s,如果对于任意i(0且i!=n-i-1)时,满足s[i]!=s[n-i-1](下标从0开始),那么我们称之为反回文串。 例如:"c","cpp","java"都是反回文串,   ...
  • zs_find
  • zs_find
  • 2015年10月15日 08:39
  • 416

服务端开发面试题

服务端开发工程师常见面试题目 多进程多线程的区别 1.进程是资源调度的最小单位,线程是cpu调度的最小单位 2.数据共享和同步:多进程(数据共享复杂,需要ipc;数据是分开的,同步简单)多线...
  • hhyjiayou
  • hhyjiayou
  • 2017年07月20日 07:54
  • 749

[今日头条] 笔试题目2016/9/28

华电北风吹 天津大学认知计算与应用重点实验室 2016-09-29String Shifting 字符串循环移位后有多少个跟原字符串相同。 解题思路: 当成字符串问题即可。KMP,BM等...
  • zhangzhengyi03539
  • zhangzhengyi03539
  • 2016年09月29日 11:11
  • 769

科达笔试题

1. char *getString(char *p){    p=(char *)malloc(16);    memset(p,"kdcom");    return p;}void test()...
  • nwpu053883
  • nwpu053883
  • 2011年05月18日 21:40
  • 3415

2016腾讯校招笔试 (部分题目)

http://www.bubuko.com/infodetail-1081918.html 下面是部分记忆的内容 1.有十个球,1个红球9个黑球,每次取一个,且不放回,问恰...
  • haluoluo211
  • haluoluo211
  • 2015年09月07日 21:06
  • 813

楚楚街2016招聘笔试(旅途)(未完待续)

题目描述 原来是要到醋溜站台乘坐醋溜快车到“醋溜港”,亮亮解出了地图隐藏的秘密,赶紧奔向醋溜站台 但到了之后,亮亮忧桑地发现,从醋溜站台到醋溜港沿途的每个车站都有很多美女被他飒爽的英姿所吸引 只...
  • qq_36470920
  • qq_36470920
  • 2017年07月27日 02:09
  • 105

2016美团校招笔试题

听说本来西安不是第一批笔试城市,没有想到自己是第一批在其他城市选上第一批笔试的人员,据说为了减轻以后笔试服务器的压力。难道是昨天百度DOS攻击把它也吓了,开个玩笑,言归正传 总共有15道单选题,5道...
  • u013003627
  • u013003627
  • 2015年09月12日 17:47
  • 5021

蘑菇街2016招聘在线笔试题

ROUND(X)  返回参数X的四舍五入的一个整数。1.已知φ为欧拉函数,求φ(56)。 因为任意一个大于1的正整数,都可以写成一系列质数的积。 根据相关知识,得到 再根据相关知识,得...
  • wusecaiyun
  • wusecaiyun
  • 2015年09月24日 20:59
  • 576
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:小米2016/9/23部分笔试题目
举报原因:
原因补充:

(最多只允许输入30个字)