2017网易游戏雷火盘古实习生招聘笔试真题:最大和 [python]
来源:互联网 发布:阿里云香港测试ip 编辑:程序博客网 时间:2024/05/22 10:25
'''
[编程题] 最大和
时间限制:1秒
空间限制:32768K
在一个N*N的数组中寻找所有横,竖,左上到右下,右上到左下,四种方向的直线连续D个数字的和里面最大的值
输入描述:
每个测试输入包含1个测试用例,第一行包括两个整数 N 和 D :
3 <= N <= 100
1 <= D <= N
接下来有N行,每行N个数字d:
0 <= d <= 100
输出描述:
输出一个整数,表示找到的和的最大值
输入例子1:
4 2
87 98 79 61
10 27 95 70
20 64 73 29
71 65 15 0
输出例子1:
193
'''
'''
解题思路:遍历所有D*D大小的区域 并找出其中的符合条件的最大值
1、找到D*D大小的区域
2、计算出横,竖,左上到右下,右上到左下,四种方向的直线连续D个数字的和里面最大的值返回
3、遍历D*D大小的所有区域,在这些最大值中找出最大的值
这一次又超时了,模仿神经网络中的池化,可以尝试下窗函数遍历的思路,看能不能省点内存和时间
'''
'''
代码运行结果:
运行超时:您的程序未能在规定时间内运行结束,请检查是否循环有错或算法复杂度过大。
case通过率为98.00%
[编程题] 最大和
时间限制:1秒
空间限制:32768K
在一个N*N的数组中寻找所有横,竖,左上到右下,右上到左下,四种方向的直线连续D个数字的和里面最大的值
输入描述:
每个测试输入包含1个测试用例,第一行包括两个整数 N 和 D :
3 <= N <= 100
1 <= D <= N
接下来有N行,每行N个数字d:
0 <= d <= 100
输出描述:
输出一个整数,表示找到的和的最大值
输入例子1:
4 2
87 98 79 61
10 27 95 70
20 64 73 29
71 65 15 0
输出例子1:
193
'''
'''
解题思路:遍历所有D*D大小的区域 并找出其中的符合条件的最大值
1、找到D*D大小的区域
2、计算出横,竖,左上到右下,右上到左下,四种方向的直线连续D个数字的和里面最大的值返回
3、遍历D*D大小的所有区域,在这些最大值中找出最大的值
这一次又超时了,模仿神经网络中的池化,可以尝试下窗函数遍历的思路,看能不能省点内存和时间
'''
'''
代码运行结果:
运行超时:您的程序未能在规定时间内运行结束,请检查是否循环有错或算法复杂度过大。
case通过率为98.00%
'''
N, D = [each for each in map(int, input().split())]nums_array = []for i in range(N): nums_array.append([each for each in map(int, input().split())])def get_max(slice_array): max_horizontal = max([sum(temp) for temp in slice_array]) max_vertical = max([sum([temp[j_] for temp in slice_array]) for j_ in range(D)]) max_lt2rb = 0 max_rt2lb = 0 for x_ in range(D): for y_ in range(D): if x_ == y_: max_lt2rb += slice_array[x_][y_] if x_ + y_ == D - 1: max_rt2lb += slice_array[x_][y_] return max(max_horizontal, max_vertical, max_lt2rb, max_rt2lb)maximum = 0for i in range(N-D+1): for j in range(N-D+1): temp_slice = [each_row[j:j+D] for each_row in nums_array[i:i+D]] temp_slice_maximum = get_max(temp_slice) if maximum < temp_slice_maximum: maximum = temp_slice_maximumprint(maximum)
阅读全文
0 0
- 2017网易游戏雷火盘古实习生招聘笔试真题:最大和 [python]
- 2017网易游戏雷火盘古实习生招聘笔试真题:字符串编码 [python]
- 2017网易游戏雷火盘古实习生招聘笔试真题:推箱子 [python]
- 2017网易游戏雷火盘古实习生招聘笔试真题:赛马 [python]
- 2017网易游戏雷火盘古实习生招聘笔试:最大和
- 2017网易游戏雷火盘古实习生招聘笔试真题 第四题
- 2017网易游戏雷火盘古实习生招聘笔试真题
- 2017网易游戏雷火盘古实习生招聘笔试真题 2
- 2018网易游戏雷火盘古实习生招聘笔试真题
- 名企笔试:网易游戏雷火盘古2017实习生招聘笔试题(字符串编码)
- 2017网易游戏雷火盘古实习生招聘笔试:字符串编码
- 2017网易游戏雷火盘古实习生招聘笔试(4)赛马
- 2018网易游戏雷火盘古实习生笔试
- 2017网易雷火盘古实习生招聘编程题之字符串编码——LZ压缩
- 网易游戏雷火盘古招聘题(一)
- 2017网易雷火盘古实习生招聘试题——硬币反转
- 网易游戏雷火盘古题
- 网易考拉2017暑假实习生招聘笔试题(网络问题)
- 为 Asp.net 网站新增发送手机短信功能
- [面试笔记] 面试知识点准备-机器学习基础
- 京东副总裁:网络零售商如何靠人工智能赋能B端?| 独家
- CPU 负载观察和性能监测
- IP核开发流程
- 2017网易游戏雷火盘古实习生招聘笔试真题:最大和 [python]
- iOS-APP启动页加载广告
- web前端css--position
- 2017网易游戏雷火盘古实习生招聘笔试真题:赛马 [python]
- JAVA虚拟机初步学习之内存管理分配
- 2017.11.20
- jinfo
- 2017-11-20 6周1次课 正则------grep
- TensorFlow全新的数据读取方式:Dataset API入门教程