牛客网刷算法(二)之度度熊回家(java版)

来源:互联网 发布:淘宝第三方支付平台 编辑:程序博客网 时间:2024/06/01 07:19

                                                                                                                   这是一道百度校园招聘笔试题第二道(共五道题)

题目描述:

           一个数轴上共有N个点,第一个点的坐标是度度熊现在位置,第N-1个点是度度熊的家。现在他需要依次的从0号坐标走到N-1号坐标。
 但是除了0号坐标和N-1号坐标,他可以在其余的N-2个坐标中选出一个点,并直接将这个点忽略掉,问度度熊回家至少走多少距离?

输入描述:
          输入一个正整数N, N <= 50。

接下来N个整数表示坐标,正数表示X轴的正方向,负数表示X轴的负方向。绝对值小于等于100

输出描述:
           输出一个整数表示度度熊最少需要走的距离。

输入例子1:
4
1 4 -1 3

输出例子1:
4

------------------------------------------------------------------------------------------分界线--------------------------------------------------------------------------------------------
题目分析:

         该题目的描述有点问题,需要理解清楚的是N个点的编号是按0到N-1来编号的,第一个点是0编号,度度熊的家是最后一个点,也就是编号为N-1的点。

题目的主要意思就是从0到N-1这N个点,一个一个挨住走一遍,但条件是把除开始点(编号为0)和结尾的点(度度熊的家即编号为N-1的点)外,剩下的点中删除一个点,再求回家的距离,要求是最短的距离。

解题思路:

           先把总共需要走的距离求出来,然后再找出多走距离中最大的那个,然后减去它即可。

源代码如下:

import java.util.Scanner;public class Test{public static void main(String[] args){Scanner sc = new Scanner(System.in);while (sc.hasNext()){int n = sc.nextInt();int minLength = 0;int[] a = new int[n];for (int i = 0; i < n; i++){a[i] = sc.nextInt();minLength += Math.abs(a[i] - a[Math.max(i - 1, 0)]);// 整条路径距离;}//System.out.println(minLength);int surplus = 0;for (int i = 1; i < n - 1; i++){// 如果当前点到中间点再到后一点距离之和大于当前点直接到后一点的距离,就是多走的路int d = Math.abs(a[i - 1] - a[i]) + Math.abs(a[i] - a[i + 1]) - Math.abs(a[i - 1] - a[i + 1]);surplus = Math.max(surplus, d); // 找到这些多走的路中最大的一个距离}//System.out.println(surplus);System.out.println(minLength - surplus); // 删除掉这个距离,就是度度熊回家至少走多少距离}}}

运行结果为截图为:



PS:欢迎大家评论交流学习,如果大家有更好的思路可以分享出来一起学习!


阅读全文
'); })();
1 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 海狮工业洗衣机价格 海狮用英语怎么说 海狮表演图片 金杯海狮货运版 金杯海狮箱货 二手金杯大海狮价格 金杯小海狮封闭货车 金杯海狮多长 金杯海狮商务车 金杯海狮改装 金杯海狮4s店地址 金杯海狮第六代 大金杯面包车 二手金杯车价格 金怀 金杯面包 金杯面包车 金杯汽车报价及图片 金杯面包车7座 金杯9座面包车 金杯汽车货车 金杯货车报价及图片 金杯车图片 金杯车 金杯面包车7座报价 金杯商务车 金杯面包货车 金旅大海狮 海狸影视 海狸鼠 海狸 海狸鼠图片 海狸影院 海狸鼠养殖 海狸图片 海狸香 海狸家口腔 海狸鼠养殖技术 海狸鼠多少钱一斤 海狸鼠种苗价格 小海狸网络科技公司好吗