0
点赞
收藏
分享

微信扫一扫

主流的安全测试工具知识点

天涯学馆 2024-10-16 阅读 11
数据结构

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

【描述】

【分析】

解法:排序

按照左端点将区间排序

排序后可以判断不同区间的左端点和右端点,如果区间重叠了(当前区间的左端点小于上一个区间的右端点),返回false,反之返回true

【代码】

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);
            }
        }

        //以上为牛客bug下的处理,无视即可

        Arrays.sort(schedule, (v1, v2) ->
        {
            return v1[0] - v2[0]; //vi[0] - v2[0]意味着升序排列
        });

        for(int i = 1;i < schedule.length;i++)
        {
            if(schedule[i][0] < schedule[i - 1][1])
            {
                return false;
            }
        }
        return true;
    }
}

举报

相关推荐

0 条评论