zoukankan      html  css  js  c++  java
  • 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);
    }

    }

  • 相关阅读:
    Effective C++ 学习笔记(12)
    Effective C++ 学习笔记(6)
    Effective C++ 学习笔记(13)
    Effective C++ 学习笔记(11)
    Effective C++ 学习笔记(10)
    (转)C++函数后加const的意义
    Effective C++ 学习笔记(14)
    Effective C++ 学习笔记(7)
    Effective C++ 学习笔记(9)
    Effective C++ 学习笔记(8)
  • 原文地址:https://www.cnblogs.com/zeigongzi/p/6782740.html
Copyright © 2011-2022 走看看