2017百度web前端实习生在线笔试题

代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int num[]=new int[n];//用户输入的数组
int b[]=new int[n];//复制num
int c[]=new int[n];//依次保存最小值下标(第1小、第2小、第3小...)
for(int i=0;i<n;i++){
num[i]=sc.nextInt();
}
for(int i=0;i<n;i++)
{
b[i]=num[i];
}
//num排序 升序
int temp;
for(int i=0;i<n;i++){
for(int j=i;j<n;j++){
if(num[i]>num[j]){
temp=num[j];
num[j]=num[i];
num[i]=temp;
}
}
}
//找到每个最小值下标
int i=0,j=0,k=0;
while(true){
if(num[i]==b[j]){
c[k]=j;
i++;
k++;
j=0;
}
else{
j++;
}
if(k==n){
break;
}
}
//计算结果
for(int m=0;m<n-1;m++){
if(c[m]>c[m+1]){
System.out.println(n-(m+2)+1);
break;
}
}
}
}
思路:主要是找规律,我找了好长时间,发现了规律。
假设数组长度n,第x小值位置在第x-1小值位置前面,就开始移动,则最少操作次数为:n-x+1
举例:
(1):数组长度为4 ,值分别是 19 7 8 25。最少操作次数:4-3+1=2
(2):数组长度为6 ,值分别是 19 8 7 9 10 25。最少操作次数:6-2+1=5
第(1)个例子,最小值是7,第二小是8,第三小是19。8在7后面,不移动8,19在8前面,移动19,19是第三小,所以操作次数:4-3+1=2
第(2)个例子,最小值是7,第二小是8。发现8在7前面,开始移动8,8是第二小,所以操作次数:6-2+1=5
总结:只要再给我10秒钟,我这道编程题分数就拿到手了,唉。。。
通过这次在线笔试,发现对于前端的知识了解的太少太少了,要想从事前端,还需要加倍努力,补充知识。
2017百度web前端实习生在线笔试题的更多相关文章
- 2014阿里巴巴WEB前端实习生在线笔试题
2014年3月31日晚,我怀着稍微忐忑的心情(第一次在线笔试^_^!!)进行了笔试.阿里巴巴的笔试题共同拥有10道,差点儿包括了Web前端开发的各个方面,有程序题.有叙述题.时间很紧张,仅仅完毕了大概 ...
- 2017腾讯Web前端实习生招聘笔试题总结
指针与引用的区别 考察margin塌陷 考察C++继承和~符号 考察TCP通讯过程 位码 三次握手 为什么不是两次握手 为什么不是四次握手 四次挥手 为什么要四次握手 TCP的状态 考察严格模式 进程 ...
- 2017携程Web前端实习生招聘笔试题总结
考察encodeURI encodeURI(), decodeURI()它们都是Global对象的方法. encodeURI()通过将某些字符的每个实例替换代表字符的UTF-8编码的一个或多个转义字符 ...
- 2016年4月21百度iOS实习生在线笔试题&编程题
1.一个人上台阶可以一次上1个,2个,或者3个,问这个人上32层的台阶,总共有几种走法? 思路:先建立数学模型,设3步的走 i 次,2步的走 j 次, 1步的走 k 次,上了3*i + 2*j + 1 ...
- Web前端开发工程师面试题
Web前端开发工程师面试题1.说说css的优先级?2.在移动端中,常常使用tap作为点击事件,好处是?会带来什么问题?3.原生JS的window,onload与Jquery的$(document).r ...
- 百度2016研发project师笔试题(四)
百度2016研发project师笔试题(四) 2015/12/8 10:42(网上收集整理的,參考答案在后面.若有错误请大神指出) 1. 关于MapReduce的描写叙述错误的是() A. 一个Tas ...
- ThoughtWorks西邮暑期特训营 -- JavaScript在线笔试题
ThoughtWorks 公司在西邮正式开办的只教女生前端开发的女子卓越实验室已经几个月过去了,这次计划于暑期在西邮内部开展面向所有性别所有专业的前端培训. 具体官方安排请戳:ThoughtWorks ...
- 百度web前端面试2015.10.18
邮件里通知的周日下午两点参加百度校招面试,我13:10分就到了,前台先让我拿了个面试资格单(上面是我的信息),然后在web前端面试入口排队,面试在百度食堂举行的,等了大概1个小时,放我去面试.都是一对 ...
- 百度Web前端面试经历
今天面了百度的前端实习职位.一面.时间大概是50分钟.面试官是位很帅气的小伙子,非常友好的一个人.进门的时候他让我等一会,我瞄了一眼他的电脑屏幕,发现他在coding…… 9点50开始的面试. 面试官 ...
随机推荐
- eclipse清除运行Maven build...后积累的配置项
1.使用eclipse运行maven命令,经常会积累很多的配置项. 2.清理配置项同样在 Run As ---> Run configurations...中.
- python + selenium <三>
sql 数据库连接 引用pymssql模块 import pymssqldef getDB(name,psw,dbname,sql): conn=pymssql.connect(HOST=host,N ...
- Linux块设备驱动(一) _驱动模型
块设备是Linux三大设备之一,其驱动模型主要针对磁盘,Flash等存储类设备,本文以3.14为蓝本,探讨内核中的块设备驱动模型 框架 下图是Linux中的块设备模型示意图,应用层程序有两种方式访问一 ...
- Logistic Regression理论总结
简述: 1. LR 本质上是对正例负例的对数几率做线性回归,因为对数几率叫做logit,做的操作是线性回归,所以该模型叫做Logistic Regression. 2. LR 的输出可以看做是一种可能 ...
- iOS开发之类扩展
在以往写代码时,我们经常是把声明写在.h文件中,把实现写在.m文件中,但是在实际开发中,如果把声明写在.h文件中会暴露程序很多属性(成员变量.成员变量的get和set方法),为了安全考虑,引入了类扩展 ...
- 如何修改vsftpd的默认根目录/var/ftp/pub到另一个目录?
修改ftp的根目录只要修改/etc/vsftpd/vsftpd.conf文件即可: 加入如下几行: local_root=/var/www/html chroot_local_user=YES ano ...
- 网关、DNS、路由器区别
1.首先得区分一下网关和路由器的区别: 网关是一个IP地址.是一个网络连接到另一个网络的"关口". 路由器是一个物理设备.一般局域网的网关就是路由器的IP地址. 2. 网关.DNS ...
- flex盒子里面元素linehight对高度的影响
那天,高高兴兴的测试flex属性.大家都知道,当父盒子display:flex的时候,子盒子即使宽高和大于父盒子,也会由于flex的特性进行收缩:然而,在给父盒子加了flex-direction:co ...
- 读书笔记 effective C++ Item 40 明智而谨慎的使用多继承
1. 多继承的两个阵营 当我们谈论到多继承(MI)的时候,C++委员会被分为两个基本阵营.一个阵营相信如果单继承是好的C++性质,那么多继承肯定会更好.另外一个阵营则争辩道单继承诚然是好的,但多继承太 ...
- java里的日期时间
为了更好理解java的日期时间类,在这里我们先介绍一下关于历法.标准时间的一些概念. 历法有很多种,我们大中华上下五千年,自然也有自己的历法,生活中我们通常把自己传统的历法叫做农历,也有人叫它阴历或夏 ...