2019年4月7日网易雷火数据挖掘实习生笔试

本文记录了作者参加网易雷火数据挖掘实习笔试的经历,分享了两道编程题的解答,包括寻找最大得分的游戏策略和计算直线段经过的格子总数。同时,提出了在统计新增账号数量上的设计挑战,需要在T+1和T+0情况下实现数据统计。
摘要由CSDN通过智能技术生成

今天参加了雷火数据挖掘实习生笔试,做的实在太差,但是想记录下来方便以后查漏补缺,要是有大神看见不要笑话哈,我知道自己是个渣渣~~要是能提点建议就太感激了,不管是下面题目解决方面还是学习方面都欢迎。因为不是科班出身,在算法、代码方面学习的非常缓慢,也害怕走弯路,毕竟在校学习时间不多了,迫切希望有效率的学习。

编程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(第一个数字-

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值