zoukankan      html  css  js  c++  java
  • 算法题

    有个机器人在数轴上走路,起始位置在原点,每走一步就是一个数。只能左右走,往左是L,往右是R,路径中只包含‘R’和‘L’,路径可以重复走,每走一步可以获得对应数的糖果,但是重复走没有糖果。输入值分为三个:第一行两个数字,空格隔开,分别为:走的步数,以及重复的次数。第二行是走的路径。
    举例:
    3 2
    RRR
    说明机器人执行路径RRR两次。即:RRRRRR
    计算过程:
    1+2+3+4+5+6=21

    public static void main(String[] args) {
    Map<Integer,Integer> map=new HashMap<Integer,Integer>();
    Scanner input1 = new Scanner(System.in);
    System.out.println("走的步数,以及重复的次数:");
    String s1 = input1.nextLine();
    Scanner input2 = new Scanner(System.in);
    System.out.println("请输入路径:");
    String s2 = input2.nextLine().toUpperCase();
    String root="";
    String a[]=s1.split(" ");
    for(int i=0;i<Integer.valueOf(a[1]);i++){
    root+=s2;
    }
    Integer sum=0;
    Integer tmp=0;
    String b[]=root.split("");
    for(int i=1;i<b.length;i++){
    String direct=b[i];
    if(i==1){
    if("R".equals(direct)){
    tmp=1;
    map.put(tmp, 1);
    }else{
    tmp=-1;
    map.put(tmp, -1);
    }
    }else{
    if("R".equals(direct)){
    tmp=tmp+1;
    }else{
    tmp=tmp-1;
    }
    if(!map.containsKey(String.valueOf(tmp))){
    map.put(tmp, tmp);
    }
    }
    }
    for(Map.Entry<Integer, Integer> entry : map.entrySet()){
    sum+=Math.abs(entry.getValue());
    }
    System.out.println("总糖水果数为:"+sum);
    }

  • 相关阅读:
    postgresql强制删除数据库
    oracle ORA-31655
    oracle 删除表空间与用户
    Nginx 配置文件说明
    docker学习笔记---基本命令
    SSH的 Write failed: Broken pipe 问题
    nginx 修改文件上传大小限制
    "echo 0 /proc/sys/kernel/hung_task_timeout_secs" disable this message
    Centos8 配置静态IP
    Prometheus Node_exporter 详解
  • 原文地址:https://www.cnblogs.com/foreverstudy/p/12877042.html
Copyright © 2011-2022 走看看