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

算法练习(10):牛客在线编程10 贪心算法

package jz.bm;import java.util.ArrayList;
import java.util.Arrays;public class bm10 {/*** BM95 分糖果问题*/public int candy (int[] arr) {int res = 0;int n = arr.length;int[] nums = new int[n];//每个人都分配一个糖果for (int i = 0; i < n; i++) {nums[i] = 1;}//从左到右递增则加1for (int i = 1; i < n; i++) {if (arr[i] > arr[i - 1]) {nums[i] = nums[i - 1] + 1;}}res = nums[n - 1];//从右到左增加则加1for (int i = n - 2; i >= 0; i--) {if (arr[i] > arr[i + 1] && nums[i] <= nums[i + 1]) {nums[i] = nums[i + 1] + 1;}res += nums[i];}return res;}/*** BM96 主持人调度(二)*/public int minmumNumberOfHost (int n, int[][] startEnd) {int[] start = new int[n];int[] end = new int[n];for (int i = 0; i < n; i++) {start[i] = startEnd[i][0];end[i] = startEnd[i][1];}Arrays.sort(start);Arrays.sort(end);int res = 0;int j = 0;for (int i = 0; i < n; i++) {//新开始的节目大于上一轮结束的时间,主持人不变if (start[i] >= end[j]) {j++;} elseres++;}return res;}
}
http://www.lryc.cn/news/152445.html

相关文章:

  • Java8新特性1——函数式接口lambda表达式
  • 文本标注技术方案(NLP标注工具)
  • 03-使用一个不可变对象作为key,红黑树怎么比较大小?
  • 2021江苏省赛热身赛 C Magic Rabbit(数形结合)
  • AES加密(2):AES代码实现解析
  • SpringBoot项目通过分词器生成词云
  • Nacos 配置管理及相关使用
  • 重发布与路由策略
  • 57. 插入区间(C++题解)
  • 【数据结构Java版】 初识泛型和包装类
  • Spring中如何解决循环依赖问题的三种方法
  • 【ArcGIS Pro二次开发】(65):进出平衡SHP转TXT、TXT转SHP
  • Shell开发实践:服务器的磁盘、CPU、内存的占用监控
  • 超详细 async和await 项目实战运用(附加文字解答+源码)
  • Maven入门教程(三):Maven语法
  • C++技术点,故事解析
  • 数据结构(Java实现)-字符串常量池与通配符
  • python强化学习--gym安装与使用
  • 105. 从前序与中序遍历序列构造二叉树
  • (第六天)初识Spring框架-SSM框架的学习与应用(Spring + Spring MVC + MyBatis)-Java EE企业级应用开发学习记录
  • 如何使用『Nginx』配置后端『HTTPS』协议访问
  • Git仓库简介
  • TensorRTC++ | INT8量化
  • VS + qt环境使用QCustomPlot等三方库如何配置
  • OS 段页结合的实际内存管理
  • 一种改进多旋翼无人机动态仿真的模块化仿真环境研究(Matlab代码实现)
  • 02-请解释一下Java的内存模型和happens-before规则?【Java面试题总结】
  • PVE 8 出现CPU 100% 冻结(卡死)
  • 【高效编程技巧】编程菜鸟和编程大佬的差距究竟在哪里?
  • 继承【C++】