2023蓝桥杯大赛软件类省赛Java大学B组G题 买二增一 队列的简单应用

简介: 2023蓝桥杯大赛软件类省赛Java大学B组G题 买二增一 队列的简单应用


用队列 Queue

package Dduo;
//Bhu Bigdata 1421
//Eslipse IDE 2020-08
//JDK 1.8
//2024/5/19
import java.util.Scanner;
import java.math.BigInteger;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.Queue;
 
public class Main {
 
  public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    int number;
    number = scan.nextInt();
    int price[] = new int[number];
    for(int i=0;i<number;i++) {
      price[i] = scan.nextInt();
    }
    long res = 0;
    scan.close();
    Arrays.sort(price);
    
    int t = number-1;
    
    //数据结构队列
    Queue<Integer> queue = new LinkedList<>();
    boolean flag = false;
    
    while(t>=0) {
      if(!queue.isEmpty()&&price[t]<=queue.peek()) {
        //如果队列非空且价格小于队列的第一个元素。queue.peek只会获取队列头部元素,不会删除。
        queue.poll();//出队列
      }
      else {
        if(flag) {
          queue.add(price[t]/2);
          flag = false;
        }
        else {
          flag = true;
        }
        res += price[t];
      }
      t--;
    }
    System.out.print(res);
  
  }
}
目录
相关文章
|
16小时前
|
jenkins Java 测试技术
Java中Jenkins的应用简介
Java中Jenkins的应用简介
3 0
|
17小时前
|
前端开发 Java UED
Java中的图形用户界面编程:Swing与JavaFX的比较与应用
Java中的图形用户界面编程:Swing与JavaFX的比较与应用
|
1天前
|
存储 缓存 Java
深入剖析Java并发库(JUC)之StampedLock的应用与原理
深入剖析Java并发库(JUC)之StampedLock的应用与原理
深入剖析Java并发库(JUC)之StampedLock的应用与原理
|
1天前
|
存储 Java API
Java基础之String类
Java的String类是引用类型,用于创建和操作字符串。字符串对象在`java.lang`包中,不可变。创建方式包括字面量和`new`关键字。字符串池存储字符串常量,避免重复。比较字符串用`equals()`(区分大小写)和`equalsIgnoreCase()`(不区分大小写)。`length()`返回长度,`concat()`或`+`拼接,`substring()`截取,`indexOf()`和`lastIndexOf()`查找,`replace()`替换,`split()`分割。这些是常用的字符串API。
6 0
|
1天前
|
Java
Java基础之String类
Java基础之String类
8 0
|
1天前
|
Java
Java中的左移运算符及其在实现加法效果上的应用
Java中的左移运算符及其在实现加法效果上的应用
6 0
|
1天前
|
存储 安全 Java
Java.security包中的KeyStore类详解
Java.security包中的KeyStore类详解
6 0
|
1天前
|
IDE Java Linux
在Maven中设置JVM系统参数及Java应用调试实例
在Maven中设置JVM系统参数及Java应用调试实例
10 0
|
1天前
|
Java
技术经验分享:Java_动态加载类(英文)
技术经验分享:Java_动态加载类(英文)
|
1天前
|
设计模式 安全 Java
Java中的动态代理:原理与应用
Java中的动态代理:原理与应用