baidu春招题:熊回家

package com.breaver.subject;
import java.util.ArrayList;
import java.util.Scanner;

/*
一个数轴上共有N个点,第一个点的坐标是度度熊现在位置,第N-1个点是度度熊的家。
现在他需要依次的从0号坐标走到N-1号坐标。
但是除了0号坐标和N-1号坐标,他可以在其余的N-2个坐标中选出一个点,
并直接将这个点忽略掉,问度度熊回家至少走多少距离?
输入描述:
输入一个正整数N, N <= 50。
接下来N个整数表示坐标,正数表示X轴的正方向,负数表示X轴的负方向。绝对值小于等于100
输出描述:
输出一个整数表示度度熊最少需要走的距离。
输入例子:
4
1 4 -1 3
输出例子:
4
Java (javac 1.7)
*/
/*
* 理解题目:这是一个图操作,从一个点到另一个点,在方圆100米内产生走动
* 1.肯定不是直接走到家所在点,就是得一个一个走过
* 2.至于到底第几个点是家所在点并不重要,因为点数没有顺序可言,而是直接制定
* 3.没有规定在起点位置的下一个位置
* 4.上述理解错误
* 5.从输入数据来看,位置只在一条坐标轴上,而输入顺序就是走动顺序
* 6.从两点之间的距离来判断去掉的点,到底是就近两个点之间的距离
* 还是说产生这个点之后,会对距离的扩展造成延伸
* 7.还有个问题--题目说第n-1个位置是家,那么要第n个做什么,所以应该是第n-1号位置
* 8.正确的距离理解:当前位置与前一个位置的差距与后一个位置的差距之后,因为首尾不能动
* 每个位置影响的距离应该时前后
* */
public class BearGoHome {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int n = 0;
ArrayList<Integer> al = new ArrayList<>();
n = sc.nextInt();
for(int i=0;i<n;i++)
al.add(sc.nextInt());
sc.close();
//对两点之间进行操作----在下标1到n-2
int a=0,discardIndex=1,b;
n-=1;
for(int i=1;i<n;i++){
b= al.get(i+1)>al.get(i)?al.get(i+1)-al.get(i):al.get(i)-al.get(i+1);
b+=al.get(i-1)>al.get(i)?al.get(i-1)-al.get(i):al.get(i)-al.get(i-1);
if(a < b){
a = b;
discardIndex = i;
}
}
// System.out.print(al.get(discardIndex)+"::"+discardIndex);
//去掉
al.remove(discardIndex);
a=0;
n-=1;
for(int i=0;i<n;i++)
a += al.get(i+1)>al.get(i)?al.get(i+1)-al.get(i):al.get(i)-al.get(i+1);
System.out.print(a);
}

}

时间: 2024-12-28 13:50:54

baidu春招题:熊回家的相关文章

(百度17春招笔试题) 度度熊回家

时间限制:1秒 空间限制:32768K 一个数轴上共有N个点,第一个点的坐标是度度熊现在位置,第N-1个点是度度熊的家.现在他需要依次的从0号坐标走到N-1号坐标.但是除了0号坐标和N-1号坐标,他可以在其余的N-2个坐标中选出一个点,并直接将这个点忽略掉,问度度熊回家至少走多少距离? 输入描述: 输入一个正整数N, N <= 50. 接下来N个整数表示坐标,正数表示X轴的正方向,负数表示X轴的负方向.绝对值小于等于100 输出描述: 输出一个整数表示度度熊最少需要走的距离. 输入例子: 4 1

网易2017春招笔试真题编程题集合题解

01 双核处理 题目 一种双核CPU的两个核能够同时的处理任务,现在有n个已知数据量的任务需要交给CPU处理,假设已知CPU的每个核1秒可以处理1kb,每个核同时只能处理一项任务.n个任务可以按照任意顺序放入CPU进行处理,现在需要设计一个方案让CPU处理完这批任务所需的时间最少,求这个最小的时间. 输入描述 输入包括两行:第一行为整数n(1 ≤ n ≤ 50)第二行为n个整数lengthi,表示每个任务的长度为length[i]kb,每个数均为1024的倍数. 输出描述输出一个整数,表示最少需

2018春招-今日头条笔试题-第三题(python)

题目描述:2018春招-今日头条笔试题5题(后附大佬答案-c++版) 解题思路: 本题的做法最重要的应该是如何拼出'1234567890',对于输入表达试获得对应的结果利用python内置函数eval()即可以实现.利用5个字符串来表达'1234567890',如下(为了好看,里面加了tab空格符) '66666 ....6 66666 66666 6...6 66666 66666 66666 66666 66666''6...6 ....6 ....6 ....6 6...6 6.... 6

错过了春招的你,难道还不为秋招做准备吗

序 如今的校招,像一场突围赛,很多人"牺牲"在前进的路上,那些突围成功的人,不是因为他们刀枪不入,而是他们有扎实的准备,周密的计划以及可圈可点的技巧. 获得校招的成功,大致需要经历计划.准备.应聘这三个过程,文中全面覆盖这些内容. 无论你是刚刚进入大学的萌新,还是身处在大二.大三的任何阶段,这篇文章都尽可能给出一些建议和指导. 目录 简单的自我介绍 [计划]时间安排:对找工作的同学十分重要的时间点,以及如何安排自己的行程 [准备]技能清单:需要具备的能力 [准备]如何提高:如何有针对性

错过了春招,难道你还不为秋招做准备吗

序 如今的校招,像一场突围赛,很多人"牺牲"在前进的路上,那些突围成功的人,不是因为他们刀枪不入,而是他们有扎实的准备,周密的计划以及可圈可点的技巧. 获得校招的成功,大致需要经历计划.准备.应聘这三个过程,文中全面覆盖这些内容. 无论你是刚刚进入大学的萌新,还是身处在大二.大三的任何阶段,这篇文章都尽可能给出一些建议和指导. 目录 简单的自我介绍 [计划]时间安排:对找工作的同学十分重要的时间点,以及如何安排自己的行程 [准备]技能清单:需要具备的能力 [准备]如何提高:如何有针对性

[转载]从春招到秋招,一个本科生的求职之路。

原文:从春招到秋招,一个本科生的求职之路. 自报家门,北理工软件学院本科生. 主要部分: 1.毕业去向选择 2.春招过程 3.暑期实习 4.秋招辛酸路程 5.一点感悟 1.毕业去向选择问题 从大一开始,就决定毕业找工作,方向是有了,但是三年多过去了,到现在才发现,大学期间并没有为这个方向做出太大的努力,这也成为我一个本科生找工作的很大障碍,实践能力严重不足.我的情况是:我决定工作,但是由于高中的思维,太看重学习成绩,成绩搞的很好,虽然有保研资格,但是又不读研,找工作的时候,好的互联网公司不看成绩

腾讯2015春招pc客户端开发练习卷

1.下列说法错误的有() A.  在类方法中可用this来调用本类的类方法 B. 在类方法中调用本类的类方法时可直接调用 C. 在类方法中只能调用本类中的类方法 D.  在类方法中绝对不能调用实例方法 答案:ACD A 首先要清楚,类方法指的是,用static修饰的静态方法,众所周知,静态方法是不包含this指针的,因为它不属于某一个具体的对象所有 C 类方法可以不必实例化而直接调用,所以,类方法可以调用其他类的类方法 D (参考别人的,我也觉得说的很有道理)可以在类方法中先实例化对象,然后调用

阿里春招Android面经

作者:淘萄桃 链接: https://www.jianshu.com/p/a07ccaad832d 本文由作者授权发布. 笔者参加18年阿里春招,有幸最终拿到阿里offer,base杭州,岗位客户端开发.一直忙于其他事情,拿到意向已经过去十多天,在此分享一些关于面试的干货,攒一波RP,回馈社会. 从阿里面试说起,阿里的面试一般采用电话面试的形式.笔者一共参加五轮面试,一面电话面试+在线编程,二面视频面试+在线编程,三面部门boss面试,四面交叉面,五面HR.在此分享五轮面试的大概问题吧,笔者是a

[找工作] 2019秋招|从春招到秋招,Java岗经验总结(收获AT)

转自(有更多) https://blog.csdn.net/zj15527620802/article/month/2018/10 前言 找工作是一件辛酸而又难忘的历程.经历过焦虑.等待.希望,我们最终都能去到属于自己理想的地方. 从春招到秋招,我总计面试了数十家公司.春招面试了腾讯.去哪儿.360.小米.携程.华为.今日头条.美团.菜鸟网络等9家公司.除了今日头条止步三面.菜鸟物流备胎至七月底才回绝,其他公司均通过了面试.最后在美团和腾讯中纠结了一段时间后,选择了腾讯去实习.秋招腾讯转正的还算