博客
关于我
leetcode436. 寻找右区间(二分法)
阅读量:258 次
发布时间:2019-03-01

本文共 886 字,大约阅读时间需要 2 分钟。

给定一组区间,对于每一个区间 i,检查是否存在一个区间 j,它的起始点大于或等于区间 i 的终点,这可以称为 j 在 i 的“右侧”。

对于任何区间,你需要存储的满足条件的区间 j 的最小索引,这意味着区间 j 有最小的起始点可以使其成为“右侧”区间。如果区间 j 不存在,则将区间 i 存储为 -1。最后,你需要输出一个值为存储的区间值的数组。

注意:

你可以假设区间的终点总是大于它的起始点。

你可以假定这些区间都不具有相同的起始点。
示例 1:

输入: [ [1,2] ]

输出: [-1]

解释:集合中只有一个区间,所以输出-1。

代码

class Solution {       public int[] findRightInterval(int[][] intervals) {           int n=intervals.length;        int[][] in=new int[n][2];//记录下集合的起点的位置        int[] res=new int[n];        for(int i=0;i
() { //将起点排序 @Override public int compare(int[] o1, int[] o2) { return o1[0]-o2[0]; } }); for(int i=0;i
=intervals[i][1]) r=mid-1; else l=mid+1; } if(l==0||l==n) res[i]=-1;//找不到 else res[i]=in[l][1]; } return res; }}

转载地址:http://ywbv.baihongyu.com/

你可能感兴趣的文章
MySQL查询数据库所有表名及其注释
查看>>
MySQL查询数据表中数据记录(包括多表查询)
查看>>
MySQL查询结果排序
查看>>
MYSQL查询语句优化
查看>>
mysql查询语句能否让一个字段不显示出来_天天写order by,你知道Mysql底层执行原理吗?
查看>>
MySQL查询语句:揭秘专家秘籍,让你秒变数据库达人!
查看>>
mysql查询超时对PHP执行的影响
查看>>
mysql查询输出到excel文件_如何保存mysql查询输出到excel或.txt文件?
查看>>
mysql查询过程
查看>>
MySQL模拟Oracle序列sequence
查看>>
Mysql模糊查询like效率,以及更高效的写法
查看>>
MySQL死锁套路:一次诡异的批量插入死锁问题分析
查看>>
Mysql死锁问题Deadlock found when trying to get lock;try restarting transaction
查看>>
mysql每个数据库的最大连接数_MySQL数据库最大连接数
查看>>
Mysql流程控制结构,if函数、case结构、if结构、循环结构
查看>>
mysql添加外网访问权限
查看>>
mysql添加用户
查看>>
MySQL添加用户、删除用户与授权
查看>>
mysql添加用户及权限
查看>>
Mysql添加用户并授予只能查询权限
查看>>