小明一共看了多少朵不同的花儿

题目描述:

小明有一个花园,花园里面一共有m朵花,对于每一朵花,都是不一样的,小明用1~m中的一个整数表示每一朵花。他很喜欢去看这些花,有一天他看了n次,并将n次他看花的种类是什么按照时间顺序记录下来。记录用a[i]表示,表示第i次他看了a[i]这朵花。小红很好奇,她有Q个问题,问[l,r]的时间内,小明一共看了多少朵不同的花儿,小明因为在忙着欣赏他的花儿,所以想请你帮他回答这些问题。

输入描述

输入两个数n,m;(1<=n<=2000,1<=m<=100);分别表示n次看花,m表示一共有m朵花儿。

接下来输入n个数a[1]~a[n],a[i]表示第i次,小明看的花的种类;

输入一个数Q(1<=Q<=1000000);表示小红的问题数量。

输入Q行 每行两个数 l,r(1<=l<=r<=n); 表示小红想知道在第l次到第r次,小明一共看了多少不同的花儿。

输出描述

一共Q行,每一行输出一个数 表示小明在[l,r]的时间内看了多少种花。

样例输入

5 3
1 2 3 2 2
3
1 4
2 4
1 5

样例输出

3
2
3

题目来自于:https://www.acmcoder.com/#/practice/code

var printOut = function(arr,quesarr){
  quesarr.forEach(item=>{
    item = [item[0]-1,item[1]]
    let temparr = [...arr];
    targetarr = temparr.slice(...item)
    targetarr = new Set(targetarr);
    console.log(targetarr.size)
  })
}
printOut([1,2,3,2,2],[[1,4],[2,4],[1,5]])

结果:

//printOut([1,2,3,2,2],[[1,4],[2,4],[1,5]])
3 2 3 
//printOut([1,2,3,4,2],[[2,3],[1,4],[4,5]])
2 4 2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值