Advertisement
Dimitrija

MinMax

Feb 13th, 2022
834
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.78 KB | None | 0 0
  1. import java.util.Comparator;
  2. import java.util.Scanner;
  3.  
  4.  
  5. class MinMax<T extends Comparable<T>>{
  6.  
  7.     private T min;
  8.     private T max;
  9.     private int swappedMin;
  10.     private int swappedMax;
  11.     private int swappedTotal;
  12.  
  13.     public MinMax(){
  14.         swappedTotal = 0;
  15.         swappedMin = 0;
  16.         swappedMax = 0;
  17.         min = null;
  18.         max = null;
  19.     }
  20.     public void update(T element){
  21.        swappedTotal++;
  22.        if (min == null&&max == null){
  23.                 min = element;
  24.                 max = element;
  25.        }
  26.  
  27.         if (min.compareTo(element) > 0){
  28.             min = element;
  29.             swappedMin = 0;
  30.         }
  31.         if (max.compareTo(element) < 0){
  32.             max = element;
  33.             swappedMax = 0;
  34.         }
  35.  
  36.         if(max.compareTo(element)==0){
  37.             swappedMax++;
  38.         }
  39.         if(min.compareTo(element)==0) {
  40.             swappedMin++;
  41.         }
  42.  
  43.  
  44.  
  45.     }
  46.     public T max(){
  47.         return max;
  48.     }
  49.     public T min(){
  50.         return min;
  51.     }
  52.  
  53.     @Override
  54.     public String toString() {
  55.         return min + " " + max + " " + (swappedTotal-(swappedMax+swappedMin)) + "\n";
  56.     }
  57. }
  58.  
  59.  
  60.  
  61.  
  62.  
  63. public class MinAndMax {
  64.     public static void main(String[] args) throws ClassNotFoundException {
  65.         Scanner scanner = new Scanner(System.in);
  66.         int n = scanner.nextInt();
  67.         MinMax<String> strings = new MinMax<String>();
  68.         for(int i = 0; i < n; ++i) {
  69.             String s = scanner.next();
  70.             strings.update(s);
  71.         }
  72.         System.out.println(strings);
  73.         MinMax<Integer> ints = new MinMax<Integer>();
  74.         for(int i = 0; i < n; ++i) {
  75.             int x = scanner.nextInt();
  76.             ints.update(x);
  77.         }
  78.         System.out.println(ints);
  79.     }
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement