2018网易校招题

这篇博客介绍了两个数学与算法问题。第一个问题是找到一个整数的‘相反数’,方法是颠倒数字顺序并加上原数。第二个问题涉及对一个整数数列进行重排,使得相邻元素的乘积都是4的倍数。博主提出了判断数列能否满足此条件的算法,并探讨了括号序列的最长公共子序列问题,以及如何找到与给定合法括号序列长度相同但LCS最大的不同序列。
摘要由CSDN通过智能技术生成

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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值