今日头条18校招第一批算法笔试
给定一个数组序列, 需要求选出一个区间, 使得该区间是所有区间中经过如下计算的值最大的一个:
区间中的最小数 * 区间所有数的和最后程序输出经过计算后的最大值即可,不需要输出具体的区间。如给定序列 [6 2 1]则根据上述公式, 可得到所有可以选定各个区间的计算值:
[6] = 6 * 6 = 36; 注意:区间顺序不能变,不可排序
[2] = 2 * 2 = 4;
[1] = 1 * 1 = 1;
[6,2] = 2 * 8 = 16;
[2,1] = 1 * 3 = 3;
[6, 2, 1] = 1 * 9 = 9;
从上述计算可见选定区间 [6] ,计算值为 36, 则程序输出为 36。
区间内的所有数字都在[0, 100]的范围内;
输入描述:
第一行输入数组序列长度n,第二行输入数组序列。 对于 50%的数据, 1 <= n <= 10000; 对于 100%的数据, 1 <= n <= 500000;
输出描述:
输出数组经过计算后的最大值。
输入例子1:
3 6 2 1
输出例子1:
36
import java.util.Scanner;
import java.util.Arrays;
public class Main{public static void main(String[] args){Scanner in = new Scanner(System.in);int n = in.nextInt();int[] a = new int[n];int sum=0;int max=0;for ( int i = 0; i < n; i++ ){a[i]=in.nextInt();}for(int i=0;i<n;i++){//以某元素为最小值扩展到附近区间,使得主顺序遍历一遍就可以sum=0;int f=i;int e=i;if(i>0){for (int k=i-1;k>=0;k--){if(a[k]<a[i]){f=k+1;break;}f=0;//扩展到左边 不要忘记如果左边都大于基值 将起始位置置0} }if(i<n-1){for(int j=i+1;j<n;j++){if(a[j]<a[i]){e=j;break; //出现第一个小于基值 则退出}e=n; }}for(int b=f;b<e;b++){sum += a[b];}max=Math.max(max,a[i]*sum);}System.out.println(max);}
}
今日头条18校招第一批算法笔试相关推荐
- 今日头条2018校招大数据/算法方向(第一批)详解
问答题 1.给定一棵树的根节点, 在已知该树最大深度的情况下, 求节点数最多的那一层并返回具体的层数. 如果最后答案有多层, 输出最浅的那一层,树的深度不会超过100000.实现代码如下,请指出代码中 ...
- 今日头条18校招算法笔试
P为给定的二维平面整数点集.定义 P 中某点x,如果x满足 P 中任意点都不在 x 的右上方区域内(横纵坐标都大于x),则称其为"最大的".求出所有"最大的"点 ...
- 今日头条2018校招测试开发方向(第一、二、三、四批)编程题汇总 - 题解
对于今日头条这家公司来说,测试的题和后端开发的题几乎是一样的,但是由于第一批的后端开发的题没有在牛客网上放出来,因此,猜测后端开发第一批的题应该和后端开发第一批的题一样,同时也想做一个测试方向编程题的 ...
- 今日头条2018校招后端方向(第二批)
1.为了不断优化推荐效果,今日头条每天要存储和处理海量数据.假设有这样一种场景:我们对用户按照它们的注册时间先后来标号,对于一类文章,每个用户都有不同的喜好值,我们会想知道某一段时间内注册的用户(标号 ...
- 今日头条、抖音推荐算法原理全文详解
之前头条召开了一场分享交流会.资深算法架构师.中国科学技术大学计算机博士曹欢欢,在今日头条总部带来了题为<让算法公开透明>的分享,消除社会各界对算法的一些误解,同时接受意见和建议. 本次分 ...
- 今日头条2018校招后端方向(用户喜好)c++
题目描述: 为了不断优化推荐效果,今日头条每天要存储和处理海量数据.假设有这样一种场景:我们对用户按照它们的注册时间先后来标号,对于一类文章,每个用户都有不同的喜好值,我们会想知道某一段时间内注册的用 ...
- 今日头条2018校招测试开发方向(第一批)详解
##问答题 #####1.给定一棵树的根节点, 在已知该树最大深度的情况下, 求节点数最多的那一层并返回具体的层数. ######如果最后答案有多层, 输出最浅的那一层,树的深度不会超过100000. ...
- VIVO校招提前批算法工程师笔试题目 2019/6/4
总共有三道题: 很简单的一道题,给A,B两个数组,输出出现在A中而没有出现在B中的元素,输出元素前后顺序不变,遍历一遍就OK了. 反转链表的第M个至第N个元素 0-1 背包 第一题 第一题很简单,直接 ...
- 题解-今日头条2018校招后端方向(第二批)
原题链接 链接:https://www.nowcoder.net/questionTerminal/429c2c5a984540d5ab7b6fa6f0aaa8b5 作为一个手串艺人,有金主向你订购了 ...
最新文章
- php更新数据库时间戳,关于Thinkphp5 里面数据库自动更新与创建时间的问题
- SpringBoot | 第九章:Mybatis-plus的集成和使用
- Python入门100题 | 第075题
- 【Android 修炼手册】Gradle 篇 -- Android Gradle Plugin 主要流程分析
- android7.0uri,整理: 解决Android7.0以上文件报FileUriExposedException问题
- 华为P30/P30 Pro细节再曝光:3.5mm耳机插孔和红外遥控各占其一
- VB判断指定名字的进程是否存在函数
- [RMAN]表空间的恢复
- Wannafly挑战赛27: E. 黄魔法师(构造)
- AudioUnitRender -10876
- elementUI中table中自定义修改时间格式2020-10-26T10:00:00
- 粤港澳湾区邮轮产业崛起 构建邮轮母港群尚需加强合作
- 千牛取消机器人自动回复_拼多多回复率低怎么办?
- 数字IC设计工程师笔试面试经典题
- mysql中的rman备份与恢复_RMAN备份与恢复总汇
- app接口开发整理(1)
- 安装python第三方模块包时,报错 error: Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C
- java order()_Java Comparator naturalOrder()用法及代码示例
- AireOS WLC配置AP Group
- UTF-8、en_US.UTF-8和zh_CN.UTF-8的区别
热门文章
- 如何在Ubuntu 20.04上安装和使用TimescaleDB
- 思科设备密码破解方法
- 项目:私“图”定制——利用ffmpeg制作Gif
- 单片机加减法计算器_课程设计--十进制加减法计算器单片机设计.doc
- Python - GPA的计算
- C#中判断空字符串的3种方法性能分析 1
- 计算机为什么老是重启,电脑总是已计划自动重启怎么办 已计划自动重启怎么关闭...
- Python自定义豆瓣电影种类,排行,点评的爬取与存储(高阶上)
- 计算机英语boot,电脑开不了机显示英文boottmgr
- 服务器未能保存文件夹,Exchange服务器提示 Event ID 50 Ntfs (Ntfs) {延迟写入失败} Windows 无法保存文件...