首页 > 编程语言 >每日OJ题_牛客_NC383主持人调度(一)_排序​_C++_Java

每日OJ题_牛客_NC383主持人调度(一)_排序​_C++_Java

时间:2024-10-25 23:21:09浏览次数:3  
标签:排序 Java OJ schedule int 主持人 C++ return 活动

目录

牛客_NC383主持人调度(一)_排序

题目解析

C++代码

Java代码


牛客_NC383主持人调度(一)_排序

主持人调度(一)_牛客题霸_牛客网 (nowcoder.com)

描述:

        有 n 个活动即将举办,每个活动都有开始时间与活动的结束时间,第 i 个活动的开始时间是 starti ,第 i 个活动的结束时间是 endi ,举办某个活动就需要为该活动准备一个活动主持人。

        一位活动主持人在同一时间只能参与一个活动。并且活动主持人需要全程参与活动,换句话说,一个主持人参与了第 i 个活动,那么该主持人在 (starti,endi) 这个时间段不能参与其他任何活动。请问一个只有一个主持人能否举办全部活动。


题目解析

  • 区间问题技巧:左端点排序或者按照右端点排序。
  • 左端点排序后,仅需考虑后续区间是否能与前一个区间重叠即可。

C++代码

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param schedule int整型vector<vector<>> 
     * @return bool布尔型
     */
    bool hostschedule(vector<vector<int> >& schedule) {
        sort(schedule.begin(), schedule.end());
        int sz = schedule.size();
        for(int i = 1; i < sz; ++i)
        {
            if(schedule[i][0] < schedule[i - 1][1])
                return false;
        }
        return true;
    }
};

Java代码

import java.util.*;
public class Solution
{
    public boolean hostschedule (ArrayList<ArrayList<Integer>> sc) 
    {
        int m = sc.size(), n = sc.get(0).size();
        int[][] schedule = new int[m][n];
        for(int i = 0; i < m; i++)
        {
            for(int j = 0; j < n; j++)
            {
                schedule[i][j] = sc.get(i).get(j);
            }
        }
        Arrays.sort(schedule, (v1, v2) -> {
            return v1[0] - v2[0];
        });
        for(int i = 1; i < schedule.length; i++)
        {
            if(schedule[i][0] < schedule[i - 1][1])
                return false;
        }
        return true;
    }
}

标签:排序,Java,OJ,schedule,int,主持人,C++,return,活动
From: https://blog.csdn.net/GRrtx/article/details/143245807

相关文章

  • 详解c++中的set_difference函数
    set_difference功能描述:求两个集合的差集函数原型:set_difference(iteratorbeg1,iteratorend1,iteratorbeg2,iteratorend2,iteratordest);//求两个集合的差集//注意:两个集合必须是有序序列//beg1容器1开始迭代器//end1容器1结束迭代器//beg2容......
  • java学习10.25企业ERP生产计划管理系统(20分)
    今天成功的把这个项目写好了,就是文档中的一些具体的需求比较难写(由于之前没写过)所以项目能完成基本的增删改查和浏览操作。使用技术栈mybatis+thymeleft+mysql比较复杂,写的东西比较多,以后学了springboot会更简便一些整体架构具体页面源代码通过百度网盘分享的文件:企......
  • Springboot 整合 Java DL4J 实现时尚穿搭推荐系统
    ......
  • java的gc为什么要分代
    Java的垃圾回收机制(GC)采用了分代策略,其背后的原因有:1.不同对象的生命周期;2.优化内存管理效率;3.降低GC暂停时间;4.更精细的资源分配;5.适应不同应用的需求。这种分代机制充分利用了大多数对象都会很快变得无用的“弱代假说”,从而提高了内存使用和回收的效率。1.不同对象的生命周期......
  • Java实现二叉树
    一、树型结构1.1概念树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。​层序遍历特点:有一个特殊的结点,称为根结点,根结点没有前驱结点除根结点外,其余结点被分成M(M>0)个互不相交的集合T1、T2、......、Tm,其中每一个集合Ti......
  • C++之内存管理与模板初级
    内容介绍Ⅰ.C++内存管理1.C/C++内存分布2.C与C++动态内存管理方式对比2.1C中动态内存管理方式2.2C++中内存管理方式3.new和delete的底层实现原理(了解)Ⅱ.模板初阶1.模板介绍2.函数模板3.函数模板参数匹配原则4.类模板Ⅰ.C++内存管理1.C/C++内存分布intn1=1;......
  • IDEA如何配置Java环境,jdk路径
    前言我们在使用IDEA开发Java应用时,一般第一步就是需要配置好我们的jdk环境,并且在IDEA里面配置jdk的安装路径。那么,我们应该如何配置呢?如何配置jdk路径首先,我们点击【File】,再点击【ProjectStructure】。然后,我们点击下【Project】,点击【Edit】,选择jdk的安装路径。这里,我......
  • Java中类的生命周期(快速掌握)
    Java中类的生命周期(快速掌握)概览加载阶段第一步我们也可以使用Java代码拓展不同的渠道第二步第三步这里的InstanceKlass是区别与源代码中的Class第四步方法区中的Klass对象,是使用C++所编写出来的对象,一般不能够直接进行操作,并且其中有部分信息,开发者在开发时并......
  • 基于java+springboot的高校毕业生就业推介系统
    基于java+springboot的高校毕业生就业推介系统是一款助力高校毕业生就业的平台。它全面记录毕业生个人信息,如基本信息、学习成绩、获奖实习等履历,且支持实时更新。对企业则有入驻审核机制,确保合法性,企业可发布岗位信息并管理。系统运用智能匹配算法,依据毕业生专业、技能......
  • 自学狂神说java第四天
    HelloWorld随便新建一个文件夹存放代码新建一个Java文件文件名后缀为.javaHello.java注意文件拓展名编写代码publicclassHello{ publicstaticvoidmain(String[]args){ System.out.print("Hello,World!"); }}编译javacjava文件,自动生成class文件......