美团笔试实习2020.3.26

public static void main(String[] args) {
  //注意两点:1、Math.PI表示圆周率。2、String.format("%.5f",res)表示保留小数位数。3、输入的半径不是有序的需要排序
  Scanner sc = new Scanner(System.in);
  while (sc.hasNext()) {
    int n = sc.nextInt();
    //sc.nextLine();
    int[] arr = new int[n];
    for(int i=0;i<n;i++) {
      arr[i] = sc.nextInt();
    }
    Arrays.sort(arr);
    double res =  Math.pow(arr[n-1],2);
    boolean flag = true;
    for(int j=n-2;j>=0;j--) {
      if(flag){
        res-=Math.pow(arr[j],2);
        flag = false;
      }else {
        res+=Math.pow(arr[j],2);
        flag = true;
      }

    }
    res *= Math.PI;
    System.out.println(String.format("%.5f",res));
  }
}

 

 

public static void main(String[] args) {
    //主要判断前面有无加减号,并且有,序号下标就差一个对应需要考虑哈
    Scanner in = new Scanner(System.in);
    while(in.hasNext()) {
      String a = in.nextLine();
      //in.nextLine();
      String str = in.nextLine();
      String[] string = str.split(" ");
      //in.close();
      StringBuffer sb = new StringBuffer();
      boolean flag = false;
      if(a.charAt(0)=='+' || a.charAt(0)=='-') {
        sb.append(a.charAt(0));
        flag=true;
      }
      int n = a.length();
      if(flag) {
        n = n-1;
      }
      for(int i=0;i<n;i++) {
          sb.append(string[i]);
      }
      System.out.println(sb.toString());
    }
  }

 

/** 笔试题目大多生动描述需要分析后就可以得出答案
   * 美团笔试五:套娃前缀和 动态规划:
   * 1 0 0 0
   * 1 1 1 1
   * 1 2 3 4
   * 1 3 6 10
   * dp[i][j] = dp[i-1][j] + dp[i][j-1]
   * 这周矩阵行要压缩空间:等于前个节点加目前节点值--> dp[i] = dp[i-1] + dp[i]
   */

 public static void main(String[] args) {
   Scanner sc = new Scanner(System.in);
   while(sc.hasNext()) {
     int N = sc.nextInt();
     int K = sc.nextInt();
     int[] dp = new int[N];
     for (int i=0;i<N;i++) {
       dp[i] = sc.nextInt();
     }
     for (int i=1;i<=K;i++) {
       for (int j=1;j<N;j++) {
         dp[j] = dp[j-1] + dp[j];
       }
     }
     System.out.println(dp[N-1]);
   }
 }

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值