算法训练 藏匿的刺客


前言

码解析 2022/4/16补


1.题目

问题描述  
 强大的kAc建立了强大的帝国,但人民深受其学霸及23文化的压迫,于是勇敢的鹏决心反抗。
 kAc帝国防守森严,鹏带领着小伙伴们躲在城外的草堆叶子中,称为叶子鹏。
kAc帝国的派出的n个看守员都发现了这一问题,第i个人会告诉你在第li个草堆到第ri个草堆里面有人,要求你计算所有草堆中最少的人数,以商议应对。
  “你为什么这么厉害”,得到过kAc衷心赞美的你必将全力以赴。


2.输入格式

输入格式   
第一行一个数字n,接下来2到n+1行,每行两个数li和ri,如题。


3.输出格式

输出格式   
输出一个数,表示最少人数。


4.代码部分

import java.util.*;

class Grass
	{
		int l,r;
		Grass(int l,int r)
		{
			this.l = l;
			this.r = r;
		}
	}

public class Main {
	
	static int n;
    static	List<Grass> list = new ArrayList();
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		n = sc.nextInt();
		for(int i = 1;i <= n;i++)
		{
			list.add(new Grass(sc.nextInt(),sc.nextInt()));
		}	
		list.sort(new Comparator<Grass>(){
					public int compare(Grass a,Grass b) {
							return a.r - b.r;
					}
				});
		int l,r,i = 0;
		while(list.size() -1 > i)
		{
			l = list.get(i).l;
			r = list.get(i).r;
			if(r > list.get(i+1).l) 
			{
				list.set(i,new Grass(Math.max(l, list.get(i+1).l),r));
				list.remove(i+1);
			}
			else
				i++;
		}
		System.out.println(list.size());
	}	
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值