问题小记之查询喜好值为k的用户数

题目链接字节跳动2018校招大数据方向(第二批)第一题


为了不断优化推荐效果,今日头条每天要存储和处理海量数据。假设有这样一种场景:我们对用户按照它们的注册时间先后来标号,对于一类文章,每个用户都有不同的喜好值,我们会想知道某一段时间内注册的用户(标号相连的一批用户)中,有多少用户对这类文章喜好值为k。因为一些特殊的原因,不会出现一个查询的用户区间完全覆盖另一个查询的用户区间(不存在L1<=L2<=R2<=R1)。
输入描述:
输入: 第1行为n代表用户的个数 第2行为n个整数,第i个代表用户标号为i的用户对某类文章的喜好度 第3行为一个正整数q代表查询的组数,第4行到第(3+q)行,每行包含3个整数l,r,k代表一组查询, 即标号为l<=i<=r的用户中对这类文章喜好值为k的用户的个数。 数据范围n <= 300000,q<=300000 k是整型
输出描述:
输出:一共q行,每行一个整数代表喜好值为k的用户的个数
输入例子1:
5
1 2 3 3 5
3
1 2 1
2 4 5
3 5 3
输出例子1:
1
0
2

写的java,但只通过了50%

import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int [] user = new int[n+1];
		for(int i=1;i<=n;i++)
			user[i] = sc.nextInt();
		int q = sc.nextInt();
		int [][] query = new int[q][3];
		for(int i=0;i<q;i++)
			for(int j=0;j<3;j++)
				query[i][j] = sc.nextInt();
		sc.close();
		for(int i=0;i<q;i++) {
			int count=0;
			int l=query[i][0];
			int r=query[i][1];
			for(int j=1;j<=n;j++) {
				if(j<l||j>r) continue;
				if(user[j]==query[i][2]) count+=1;
			}
			System.out.println(count);
		}
	}
}

结果:运行超时:您的程序未能在规定时间内运行结束,请检查是否循环有错或算法复杂度过大。 case通过率为50.00%

这里放一个用例

10000 39 -21 81 -90 76 12 99 -44 43 55 17 -79 67 -89 97 -79 -2 -25 34 -71 70 70 -22 -76 46 -40 99 -44 60 37 -24 -51 46 11 46 41 78 50 72 -88 93 74 -48 -59 92 12 -72 69 66 -39 -79 -2 65 5 -62 -34 -68 -49 -60 77 -8 21 40 14 61 25 -2 -69 -17 60 14 -14 -32 -5 -72 -42 -53 -21 55 -34 92 18 -5 22 -28 91 -67 3 -52 25 -78 -99 -12 -30 45 -47 57 85 7 77 -27 -79 44 34 -54 -69 -10 68 9 -13 -84 44 69 36 87 62 -46 -22 -41 94 38 0 -6 -87 4 28 -27 31 -97 -17 78 -70 -35 -72 71 75 18 -89 15 -67 47 75 50 20 -77 41 17 -57 88 -8 -98 -94 -41 -79 57 17 49 35 83 -57 46 42 96 72 -19 73 15 23 -36 95 -35 -60 -16 -50 20 14 16 -22 90 -97 -22 -16 32 44 42 7 -21 -99 76 -14 -15 -21 86 30 -46 90 99 -52 27 -81 53 65 87 86 -49 -21 -50 95 72 -4 -34 98 77 25 31 43 -93 37 -66 2 81 -23 -11 67 40 39 -5 35 69 90 -18 -2 23 55 -18 -62 70 -87 93 -12 -95 91 0 86 -37 92 -34 -91 62 51 -36 -70 34 -13 -40 -59 92 2 -51 22 -73 -71 33 25 24 75 -99 -1 -10 14 -75 73 -67 -73 18 44 50 3 35 -68 -34 -58 -11 26 24 -45 50 -38 23 -8 39 21 13 -21 -59 94 -31 -18 -5 -10 5 32 -10 -74 -86 61 -19 -40 90 73 -21 -17 -86 83 2 87 -76 76 -38 -29 5 46 -4 -52 -28 -20 -74 57 -94 7 83 -74 -99 36 1 -73 -21 58 -19 -59 -79 1 43 27 61 -60 73 35 52 4 -60 -77 -53 17 48 -2 -40 69 60 25 -35 -62 -59 -77 -50 -55 47 55 -69 58 88 30 -26 -91 61 -35 39 -90 8 54 -5 42 89 33 -63 0 17 73 39 65 -47 84 76 25 42 -30 84 -93 -38 -27 -49 18 83 71 -29 -89 47 -30 71 -23 16 2 -58 1 7 -11 84 -40 39 42 45 5 -10 -68 29 -15 -74 63 -70 50 -95 81 -14 41 44 -34 23 46 8 68 -17 -61 -98 40 -6 53 44 64 22 -1 -15 -85 -30 60 -98 -82 51 80 -62 -41 68 30 14 -65 67 -89 -23 69 -27 -21 -45 -12 73 -54 11 59 -3 -51 12 9 -3 -47 81 -11 -19 -26 81 -43 33 -97 -46 63 -50 -8 -21 -37 15 79 -45 82 -28 52 16 23 8 97 -33 -96 90 -9 -8 -83 -45 -99 -54 40 66 34 -40 98 39 39 -73 92 76 -50 12 -60 15 -32 -44 -59 -5 -5 -6 -76 -79 55 29 59 -77 -90 -56 -30 10 -25 -58 -51 12 0 81 39 -24 -96 -78 -63 8 99 40 -89 81 -1 17 -47 45 93 -85 -59 1 -24 -19 8 -87 -67 -92 49 16 46 69 -55 53 -90 -58 -31 86 -72 36 68 35 -66 -63 13 74 -91 -5 28 -95 92 -85 42 66 16 -39 -16 99 -27 79 -13 19 89 -52 22 65 -98 82 -44 -11 -62 -28 35 68 -45 44 -75 80 -71 -1 -37 -73 -94 -90 76 55 77 0 -54 47 38 -34 -86 84 -76 -54 -56 8 82 -52 -83 82 30 -82 86 5 -2 -87 45 -92 -85 0 -4 54 47 -64 0 72 23 44 -60 -34 -47 99 -20 92 -57 6 -53 98 -70 -56 20 78 -44 52 -20 -20 -81 93 -92 -17 -37 68 -80 -26 0 -89 -12 67 -19 -13 75 0 19 -18 91 -94 70 21 3 -10 44 18 24 -18 1 -9 22 94 -74 70 13 11 59 55 25 -51 -66 5 25 6 -98 -8 41 28 -7 -58 -74 -15 42 82 -96 51 74 28 18 -92 -98 -26 -96 -1 36 -82 -91 -40 -92 88 -27 -74 49 15 -91 -16 -95 69 -68 -16 -60 -31 81 -36 -30 10 2 95 -7 0 62 79 63 36 -39 19 -79 88 -16 -59 63 -81 66 -22 86 -87 -49 66 52 -95 57 72 38 -31 -74 51 67 4 58 94 -31 77 -15 16 47 11 -49 48 70 -76 -92 -45 47 85 -18 28 76 79 92 -19 41 11 -94 28 -59 -12 11 -48 69 72 -24 -88 32 85 19 30 77 68 -30 -23 -35 51 -69 37 -32 29 -24 39 33 -43 -49 31 -73 -87 83 -52 31 90 4 24 20 74 16 -15 16 -92 8 -56 -7 -54 98 69 -18 -19 -92 44 -43 -96 83 -28 -53 27 41 0 -48 97 3 -39 -61 21 64 -36 -63 -18 -22 73 -35 -44 28 49 -35 86 -9 48 -21 -49 -94 -61 -53 49 14 11 59 -71 -81 54 61 54 -36 -87 28 14 -94 -85 -36 99 -13 85 -43 -17 5 -90 46 74 96 -35 0 62 66 43 -14 -27 -88 7 64 56 -14 -10 10 -39 -63 -63 13 -20 23 -52 31 -67 77 -31 -77 28 -64 95 -85 -81 -25 74 -47 14 20 76 81 -41 -90 95 82 -33 97 3 99 -27 41 -86 -89 -76 -48 -18 -90 -41 -90 -31 1 53 -82 35 69 -98 -86 -6 -49 4 13 -52 -10 -40 72 27 92 65 69 -96 35 -22 -91 63 -91 94 -72 55 -52 -70 34 -93 -1 71 2 26 5 -19 -84 53 50 90 -51 -62 -32 66 -67 -59 -54 -54 -99 15 -8 56 -29 13 -88 -70 67 -94 -52 7 95 35 51 11 6 -61 -45 -12 94 75 71 -41 -34 4 -76 -46 63 -50 -80 -45 -82 -90 50 86 99 -17 76 61 -37 -57 23 -55 58 -47 96 -6 -92 11 71 -85 47 -4 -61 -10 -14 60 42 -76 44 1 -64 22 61 -6 10 -18 -9 -45 97 16 -63 -75 -12 93 -80 -17 -56 25 74 79 -44 -17 -53 77 90 54 29 -9 25 65 -17 0 -67 -82 -2 48 52 48 -18 -80 84 -95 89 -2 -89 62 53 -48 99 -24 76 -87 -29 -18 39 -96 -39 18 54 -76 95 83 -39 72 98 2 67 25 64 -53 53 -22 -73 -81 29 59 -72 64 -77 19 -16 40 58 -90 -97 -99 -72 -98 49 -34 -20 14 59 -30 -12 78 -34 88 -37 -4 63 -83 53 9 56 71 1 27 -12 89 2 -3 6 -69 -54 62 40 -25 -63 13 -28 91 -8 -10 41 -18 30 -53 -18 -65 -76 -47 -57 86 11 62 -27 11 97 88 54 -98 85 -42 6 -40 -99 -99 48 16 -42 34 69 45 -69 -28 -82 -89 -59 70 -53 -49 33 62 -15 -13 -79 -71 57 -77 -26 -30 -29 88 15 -15 35 -98 -39 80 19 35 -35 -55 -82 -27 11 -10 22 -74 -59 42 14 75 97 -80 -14 16 -63 70 -15 87 -70 -3 92 4 85 30 -91 -75 89 53 92 -47 -93 11 -45 -79 13 -30 -92 -29 31 46 86 91 -36 72 -55 -67 55 87 -55 19 70 24 29 -42 -98 12 -35 37 -9 -97 -8 4 26 -5 12 -6 80 79 89 99 65 84 21 78 92 56 50 -69 47 -97 67 -12 70 84 -57 -43 -51 35 74 12 -3 89 60 78 49 -6 35 14 -94 65 -74 3 62 -91 -45 -10 -99 -18 -81 4 79 85 58 23 90 60 -54 13 -9 10 79 62 95 -22 -86 -65 47 -94 29 -56 -92 78 0 93 92 -1 -79 -49 40 -59 -4 -92 -99 39 -56 14 79 -5 5 83 97 -96 16 55 -13 32 70 -67 87 -82 -3 35 -90 56 20 28 75 42 13 29 0 48 78 41 -51 96 29 -83 -5 -40 67 -52 -23 -51 -19 58 -98 30 -2 -67 7 -99 89 82 -39 45 -51 24 -16 11 -68 67 -29 53 -43 9 90 -40 -47 -54 -74 42 91 -81 -95 -86 -45 -75 8 86 -68 -21 59 16 64 -72 23 6 24 -74 13 -24 -53 72 13 89 -38 21 82 -52 -70 6 -28 49 -56 -80 -40 -54 -29 -78 64 -22 41 87 18 -8 35 69 -34 -2 86 28 -49 14 -70 -64 54 90 -38 82 36 -95 39 -62 -81 62 47 -43 -22 -93 -46 -35 -53 -79 -51 8 -19 62 38 60 49 -94 15 -1 -69 41 68 -43 -6 0 65 74 -75 -59 16 43 23 9 85 40 -45 57 59 -97 47 -88 84 -93 63 59 18 -51 -17 -17 27 -87 86 68 75 84 -19 18 33 -41 45 -25 -32 -87 -40 51 -5 66 -88 82 -11 -79 -64 99 14 -62 -69 -93 42 -25 71 -97 -36 -6 -28 -5 32 -67 -43 -80 10 -36 94 43 6 66 -39 66 -93 45 -33 -91 79 -73 -24 -6 -43 -86 -21 64 -56 -41 -79 0 3 -40 -47 -90 -61 37 62 -65 33 -64 -78 9 85 92 -96 -75 7 21 32 99 83 -6 -18 -66 24 80 -28 65 93 -94 -15 86 67 23 50 -23 -18 -34 1 83 -80 94 -41 -66 -20 -97 28 0 -79 -9 27 28 79 60 22 -14 56 -37 -34 -75 6 64 -70 34 -73 -97 -70 -95 -53 90 -93 94 81 -39 -44 -70 -25 -56 -45 -71 -50 -79 -66 -97 -70 -38 84 -56 2 61 -65 -92 -58 -30 -37 -53 -39 -70 -94 -26 63 -56 -17 -67 64 7 -36 -10 25 -12 27 -14 -77 -43 29 -77 59 -48 -52 62 96 7 -20 24 9 -2 -98 -9 49 -92 -91 -52 35 -1 -16 59 31 22 47 53 56 -86 45 50 -16 46 -10 4 -78 -96 86 -19 74 12 80 -14 79 7 89 -68 -89 15 30 29 -60 88 25 20 -97 -80 -91 22 71 -51 4 29 -50 33 -24 59 98 -9 -94 97 -82 42 -13 -75 -65 1 -76 -27 0 -79 25 16 15 -90 4 37 -56 -84 -87 85 53 -56 93 64 58 48 -16 -32 -74 70 34 -55 -5 -78 -5 15 -6 31 -47 -55 15 51 -8 78 -23 -44 27 -67 -67 -46 -39 -33 -92 -1 16 38 -43 3 59 -97 99 99 46 51 -14 37 -55 47 68 50 86 59 3 -45 -44 -91 33 -30 61 26 -50 -2 -51 -85 -48 -64 47 -33 2 -82 3 6 95 -80 46 83 -9 -30 -95 72 0 22 2 61 -65 -4 21 3 44 -29 97 -6 80 -74 60 -55 -72 85 37 88 75 19 -8 23 -28 -26 51 -56 53 -45 93 -15 -33 54 63 31 28 -15 3 55 32 76 71 -65 97 -77 -5 12 -56 51 -87 83 70 -6 29 -55 -99 95 8 -46 71 21 -67 -66 84 -61 -14 55 10 39 51 -8 93 77 -28 -29 -18 31 57 -21 50 -23 86 -89 -80 68 -33 -26 86 -11 -38 -93 85 2 47 -64 -49 59 -97 -17 -86 15 63 -90 -3 76 -90 -10 23 -62 -1 13 -26 96 34 32 67 78 25 4 55 -48 -60 -32 49 -84 63 -74 -88 44 8 -23 -79 24 -74 30 -61 82 -70 11 42 -60 -6 -4

问题小记
1.题目理解错误。求标号为l<=i<=r的用户中对这类文章喜好值为k的用户的个数,一开始写成了 if(user[i]>=l&&user[i]<=r) ,例子1碰巧通过,但其实是user的下标与l,r进行比较。
2.运行超时。还没解决先记录一下

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值