2018网易校招题

1、为了得到一个数的”相反数“我们将这个数的数字顺序颠倒然后再加上原先的数得到”相反数“。例如,为了得到1324的”相反数“,首先我们将该数的数字顺序颠倒。我们得到5231,之后再加上原先的数,我们得到5231+1325=6556,如果颠倒之后的数字有前缀、前缀零将会被忽略。例如n=100。颠倒之后是1。


输入描述:

输入包括一个整数n,(1<=n<=10^5)

输出描述:

输出一个整数,表示n的相反数


实例1:

输入:

1325

输出:

6556


2、小易有一个长度为N的正整数数列A={A[1],A[2],A[3]...,A[N]}。

牛博士给小易出了一个难题:

对数列A进行重新排列,使数列A满足所有的A[i]*A[i+1](1<=i<=N-1)都是4的倍数。

小易现在需要判断一个数列是否可以重排之后满足牛博士的要求。


输入描述:

输入的第一行数列的个数t(1<=t<=10),

接下来每两行描述一个数列A,。第一行为数列长度n(1<=n<=10^5)

第二行为n个正整数A[i] (1<=A[i]<=10^9)


输出描述:

对于每个数列输出一行表示是否可以满足牛博士要求,如何可以输出YES,否则输出NO。

示例1

输入:

2
3
1 10 100
4
1 2 3 4
输出:
Yes
No




3、一个合法的括号匹配序列被定义为:

     1.空串""是合法的括号序列

     2.如果”X“和”Y“是合法的序列,那么"XY"也是一个合法的括号序列

     3.如果“X”是一个合法的序列,那么"(X)"也是一个合法的括号序列

     4.每个合法的括号序列都可以由上面的规则生成

     例如"","()","()()()","(()())","((()))"都是合法的。

   从一个字符串S中移除零个或者多个字符得到的序列成为S的子序列。

   例如"abcde"的子序列有"abe","abcde"等。

   定义LCS(S,T)为字符串S和字符串T最长公共子序列的长度,即一个最长的序列W即是S的子序列也是T的子序列的长度。

   小易给出一个合法的括号匹配序列S,小易希望你能找出具有以下特征的括号序列t:

   1.t跟s不同,但是长度相同。

   2.t也是一个合法的括号匹配序列。

   3.LCS(s,t)是满足上述两个条件的t中最大的。

   因为这样的t可能存在多个,小易需要你计算初满足条件的t有多少个。

   如样例所示: s="(())()",跟字符串s长度相同的合法括号匹配序列有:

   “()(())”,"((()))","()()()","(()())",其中LCS("(())()","()(())")为4,其他三个都为5,所以输出3。


输入描述:
输入包括字符串s(4<=|s|<=50,|s|表示字符串长度),保证s是一个合法的括号匹配序列。
输出描述:
输出一个正整数,满足条件的t的个数。

示例1:

输入:

(())()

输出:
3




你可能感兴趣的:(2018网易校招题)