今天参加了雷火数据挖掘实习生笔试,做的实在太差,但是想记录下来方便以后查漏补缺,要是有大神看见不要笑话哈,我知道自己是个渣渣~~要是能提点建议就太感激了,不管是下面题目解决方面还是学习方面都欢迎。因为不是科班出身,在算法、代码方面学习的非常缓慢,也害怕走弯路,毕竟在校学习时间不多了,迫切希望有效率的学习。
编程1
游戏规则如下:
-在棋盘上有N个数字从左到右排成一行
-初始时自己手里为空
-每回合玩家可以选择拿走棋盘上最左边或者最右边的一个数字,中间的不能拿走
-拿走的数字依次从左到右排列在自己面前
-棋盘上所有数字被拿走后游戏结束
当所有数字都被拿走后,这N个数字在玩家面前从左到右排列成一个新的数列,这个数列每相邻两个数字的差的绝对值之和为玩家最终得分
假设玩家面前N个数字从左到右标号为A1,A2,A3,…,AN,则最终得分S的计算方式如下:
S = abs(A2-A1)+abs(A3-A2)+…+abs(AN-A(N-1))
计算玩家在以上游戏规则中把所有数字全部拿走可以获得的最大得分
输入描述:
第一行一个数字N(2<=N<=100)
第二行N个数字Ai(0<=Ai<=100)
输出描述:
一个整数s,玩家获得的最大得分
实例1
input
3
1 2 3
output
3
我的思路:拿走的第一个数字有两种可能:A1或An ,所以分成两种情况讨论。
当拿走的第一个数字为A1,比较棋盘上剩余数字中的第一个数字和最后一个数字,如果abs(第一个数字-