网易2017校招笔试

来源:互联网 发布:猫咪av永久域名 编辑:程序博客网 时间:2024/04/29 18:03
1.藏宝图
题目描述

牛牛拿到了一个藏宝图,顺着藏宝图的指示,牛牛发现了一个藏宝盒,藏宝盒上有一个机关,机关每次会显示两个字符串s和t,根据古老的传说,牛牛需要每次都回答t是否是s的子序列。注意,子序列不要求在原字符串中是连续的,例如串abc,它的子串序列就有{空串,a,b,c,ab,ac,bc,abc}8种。
输入描述

每个输入包含一个测试用例。每个测试用例包含两行长度不超过10的不包含空格的可见ASCII字符串。

输出描述

输出一行”Yes”或者”No”表示结果。

输入例子

x.nowcoder.com
ooo

输出例子

Yes


import java.util.Scanner;/** * Created by y573724537-pc on 2016/8/3. */public class Test3 {    public static void main(String[] args) {        Scanner scanner = new Scanner(System.in);        while (scanner.hasNext()) {            String s = scanner.nextLine();            String t = scanner.nextLine();            System.out.println(deal(s.toCharArray(), t.toCharArray()) ? "Yes" : "No");        }    }    static boolean deal(char[] s, char[] t) {        int i = 0, j = 0;        while (j < t.length) {            while (i < s.length) {                if (t[j] == s[i])                    break;                i++;            }            if (i == s.length)                return false;            i++;            j++;        }        return true;    }}

2.数列还原
牛牛的作业本上有一个长度为n的排列A,这个排列包含了从1到n的n个数,但是因为一些原因,其中有一些位置(不超过10个)看不清了,但是牛牛记得这个数列顺序对的数量是k,顺序对是指满足i <j且 A[i] < A[j]的对数,请帮助牛牛计算出,符合这个要求的合法排列的数目。
输入描述

每个输入包含一个测试用例。每个测试用例的第一行包含两个整数n和k(1 <= n <= 100,0 <= k <= 1000000000),接下来的1行,包含n个数字表示排列A,其中等于0的项表示看不清的位置(不超过10个)。

输出描述

输出一行表示合法的排列数目

输入例子

5 5
4 0 0 2 0

输出例子

2



3.分田地
牛牛和15个朋友玩打土豪分田地的游戏,牛牛决定让你来分田地,地主的田地可以看成是一个矩形,每个位置有一个价值。分割田地的方法是横竖各切三刀,分成16份,作为领导干部,牛牛总是会选择其中总价值最小的一份田地,作为牛牛最好的朋友,你希望牛牛取得的田地的价值和尽可能大,你知道这个值最大可以是多少吗?
输入描述

每个输入包含1个测试用例。每个测试用例的第一行包含两个整数n和m(1 <= n,m <= 75),表示田地的大小,接下来的n行,每行包含m个0-9之间的数字,表示每块位置的价值。

输出描述

输出一行表示牛牛所能取得的最大的价值。

输入例子

4 4
3332
3233
3332
2323

输出例子

2

0 0