当前位置: 首页 > news >正文

牛客笔试题 除2!

题目:

题目链接:除以2! 

题目解析:

1.这道题目明显需要用到大根堆来解决,首先需要把数组中的数放入sum中,将偶数放入堆中。

2.接着就取出堆顶的元素除以2,并且使sum减去这个数,同时判断一下这个数是否是偶数,如果是,加入堆中。

代码解析:

 public static void main(String[] args){Scanner in = new Scanner(System.in);int n = in.nextInt(),k = in.nextInt();//创建大根堆PriorityQueue<Integer> heap = new PriorityQueue<>((a,b) -> {return b-a;});//把偶数丢进大根堆,获取偶数大根堆的和long sum = 0,num;for(int i = 0; i < n; i++){num = in.nextLong();sum += num;if(num % 2 == 0) {heap.offer((int)num);}}//拿出堆顶元素,除2,从sum中减掉减小的值while(!heap.isEmpty() && k-- != 0){long t = heap.poll() / 2;sum -= t;if(t % 2 == 0) heap.offer((int)t);}System.out.print(sum);}

http://www.dtcms.com/a/272784.html

相关文章:

  • 读取按键的四种方式
  • IMU误差模型
  • 显卡GPU的架构和工作原理
  • 输入框过滤选项列表,el-checkbox-group单选
  • JDK 1.7 vs JDK 1.8
  • 为什么域名加端口访问需要放行端口?
  • 【算法训练营Day11】二叉树part1
  • c语言初阶 指针
  • CH9121T电路及配置详解
  • 【算法笔记 day three】滑动窗口(其他类型)
  • Spring Security 技术原理与实战全景详解
  • 【OD机试题解法笔记】根据IP查找城市
  • 观众信息设置与统计(视频高级分析与统计功能)
  • 身份认证缺陷
  • Gulp实现功能及插件总结
  • java并发包下CountDownLatch、Semaphore用法
  • 【牛客刷题】活动安排
  • i.mx8 网络速率测试
  • Transformer:自注意力驱动的神经网络革命引擎
  • 网络综合实验
  • Linux中gdb使用
  • Spring- @Autowired和@Resource 的区别
  • 【网络】Linux 内核优化实战 - net.ipv4.tcp_keepalive_probes
  • linux系统---部署应用
  • day049-初识Ansible与常用模块
  • 如何远程访问在WSL运行的Jupyter Notebook
  • 如何安装python以及jupyter notebook
  • 创客匠人洞察:AI 时代创始人 IP 打造如何突破效率与价值的平衡
  • RabbitMQ 高级特性之消息分发
  • 【Fargo】发送一个rtp包的过程1:怎么统一加twcc序号