zoukankan      html  css  js  c++  java
  • 【算法】淘汰分数-美团2021校招笔试

    【算法】淘汰分数-美团2021校招笔试

    https://www.nowcoder.com/questionTerminal/9c4a4e879b4f49939dfaebea8948f976


    1.题目


    2.我的解法

    • 代码

      package 淘汰分数;
      
      import java.util.Arrays;
      import java.util.Scanner;
      
      /*
      6 2 3
      1 2 3 3 3 3
       */
      
      /*
       * 先排序,从最小值开始遍历,判断两者人数是否符合人数区间
       * 注意:考虑存在多个分数线时,要输出最低的,所以要排序
       * */
      public class EliminateScores {
      
          public static int findEliminateScores(int min, int max, int[] scores) {
              if (min > max) return -1;
      
              int rs;//结果分数线
              //分数得先排序
              Arrays.sort(scores);
      
              for (int i = 0; i < scores.length; i++) {
                  int temp = scores[i];
                  int higherNum = 0;//分高
                  int lowerNum = 0;//分低
      
                  //统计晋级淘汰人数
                  for (int j = 0; j < scores.length; j++) {
                      if (temp < scores[j])
                          higherNum++;
                      else lowerNum++;
      
                      if (higherNum > max || lowerNum > max) break;
                  }
      
                  if (higherNum <= max && higherNum >= min && lowerNum <= max && lowerNum >= min) {
                      rs = temp;
                      return rs;
                  }
              }
      
              return -1;
          }
      
          public static void main(String[] args) {
              Scanner s = new Scanner(System.in);
      
              int playerNum = s.nextInt();//参赛
              int min = s.nextInt();//晋级淘汰下限
              int max = s.nextInt();//晋级淘汰上限
              int[] scores = new int[playerNum];
              for (int i = 0; i < playerNum; i++) {
                  scores[i] = s.nextInt();
              }
      
              int rs = findEliminateScores(min, max, scores);
              System.out.println(rs);
          }
      }
      
  • 相关阅读:
    4.2 手指绘图
    Linux-linux常用操作
    gdb的使用
    时钟的函数
    动态链接库
    简单算法整理
    win的使用
    c语言格式化打印
    Symfony2 学习笔记之控制器
    Symfony2 学习笔记之系统路由
  • 原文地址:https://www.cnblogs.com/musecho/p/14518640.html
Copyright © 2011-2022 走看看