用友2016成都校园招聘笔试题
2015-10-31 15:36
316 查看
有幸获得一份用友2016成都校园招聘的笔试题,就拿来做了一下。
题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每一个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。
例如输入的数组为1,-2,3,10,-4,7,2,-5,那么该数组中连续的最大的子数组为3,10,-4,7,2,因此输出为该子数组的和18。
代码如下:
题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每一个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。
例如输入的数组为1,-2,3,10,-4,7,2,-5,那么该数组中连续的最大的子数组为3,10,-4,7,2,因此输出为该子数组的和18。
代码如下:
public class Sum { public static void main(String[] args) { // TODO Auto-generated method stub int[] a={1,-2,3,10,-4,7,2,-5}; int max=FindMax(a); System.out.print(max); } static int FindMax(int[] a){ int max=0; int tmp=0; for(int i=0; i<a.length;i++){ if(a[i]>0 || tmp>Math.abs(a[i])){ tmp+=a[i]; if(tmp>max){ max=tmp; } }else{ tmp=0; } } return max; } }
相关文章推荐
- Android网络开发之Volley--Volley自定义Request
- Python - BeautifulSoup 安装
- 陈述 UML 类图中的几种关系
- 解决vmware vSphere 克隆虚拟机后无法启动网卡。
- 连通域提取MSER
- Listener监听器
- iOS UIAppearance使用详解
- 还原数据库“XXX”时失败。System.Data.SqlClient.SqlError: 无法执行 BACKUP LOG,因为当前没有数据库备份。
- 请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: Named Pipes Provider, error: 40 - 无法打开到 SQL Server 的连接)
- Page-Object思想
- Collection 和 Collections 的区别(Array和Arrays区别)
- iOS 开发之FMDB的使用指南
- JS 乱记
- poj3692 最大点权独立集/最大独立集
- OC小实例关于init方法不小心的错误
- Android NIO(Noblocking I/O非阻塞I/O)小结
- JSP中request属性的用法
- OpenJudge1538 Gopher II
- 如何删除 SQL Server 表中的重复行
- codeforces 286 div2 B