首页 > 其他分享 >塔子哥的美食节-阿里淘天2024笔试(codefun2000)

塔子哥的美食节-阿里淘天2024笔试(codefun2000)

时间:2024-08-10 10:54:41浏览次数:13  
标签:塔子哥 淘天 int ans hmap 人气值 美食 美食节

题目链接
塔子哥的美食节-阿里淘天2024笔试(codefun2000)

题目内容

塔子哥是一位美食评论家,他最近参加了一个美食节,品尝了 n 种不同的美食,每种美食都有一个特定的人气值。现在,塔子哥想写一篇关于这次美食节的文章,他打算挑选出 k 种美食,使得文章中能够突出一种特别受欢迎的美食。为了增加文章的吸引力,他希望选择的美食中,有一种美食的人气值能够尽可能高。

输入描述

本题有多组测试数据。
第一行一个正整数 T,表示数据的组数。
接下来,对于每组测试数据,输入包含两行:
第一行两个正整数 n 和 k,表示美食的种类数和塔子哥需要挑选的美食数量。
第二行 n 个正整数,每个数表示一种美食的人气值。

输出描述

输出包含 T 行,对于每个测试数据:
每行一个正整数,表示选出 k 种美食组成的新美食列表中出现次数最多的美食的最大人气值。

样例1

输入

1
6 3
2 2 2 1 1 1

输出

2

提示

1≤T≤100
1 ≤ k ≤ n ≤ 1 0 5 1≤k≤n≤10^5 1≤k≤n≤105
1 ≤ a i ≤ 1 0 9 1≤ai≤10^9 1≤ai≤109

题解1

#include<bits/stdc++.h>
using namespace std;

const int N = 1e5 + 10;

int t, n, k, a[N];
unordered_map<int,int> hmap;

bool cmp(int a, int b){
	return a > b;
}

int main(){
	scanf("%d", &t);
	while(t--){
		hmap.clear();
		scanf("%d%d", &n, &k);
		for(int i = 1; i <= n; i++) {
			scanf("%d", &a[i]);
			if(hmap.count(a[i]) == 0) hmap[a[i]] = 1;
			else hmap[a[i]]++;
		}
		sort(a + 1, a + n + 1, cmp); // 优先选择人气值高的美食 
		n = unique(a + 1, a + n + 1) - a - 1; // 对排序后的数组进行去重 
		
		int ans = 0;
		while(k){
			ans = 0;
			for(int i = 1; i <= n && k; i++){
				if(hmap[a[i]]) {
					ans = max(ans, a[i]);
					k--;
					hmap[a[i]]--;
				}
			}
		}
		printf("%d\n", ans);
	}
	return 0;
}

标签:塔子哥,淘天,int,ans,hmap,人气值,美食,美食节
From: https://blog.csdn.net/qq_45332149/article/details/141054815

相关文章

  • 塔子哥喜欢字符-小米2023笔试(codefun2000)
    题目链接塔子哥喜欢字符-小米2023笔试(codefun2000)题目内容塔子哥天生偏爱一些字符,对于一个字符串,他总是想把字符串中的字符变成他偏爱的那些字符。如果字符串中某个字符不是他所偏爱的字符,称为非偏爱字符,那么他会将该非偏爱字符替换为字符串中距离该字符最近的一个偏......
  • 塔子哥的最短区间-小米2023笔试(codefun2000)
    题目链接塔子哥的最短区间-小米2023笔试(codefun2000)题目内容塔子哥有一个长度为n的数组a和长度为m的数组b,下标均从1开始。现在,塔子哥想让你找出一个最短的区间l,r,这个区间中数x的数量至少出现了b[x]次。输入描述第一行,两个整数n,m(......
  • 塔子哥的编程乐趣-腾讯2023笔试(codefun2000)
    题目链接塔子哥的编程乐趣-腾讯2023笔试(codefun2000)题目内容塔子哥是一位资深的程序员,他最近在研究一种特殊的数组操作。他有一个由正整数组成的数组,数组的长度是偶数。塔子哥可以对数组中的任意一个数字执行以下两种操作之一:将该数字乘以2;将该数字除以2并向下......
  • 塔子哥的树-小红书2024笔试(codefun2000)
    题目链接塔子哥的树-小红书2024笔试(codefun2000)题目内容塔子哥是一个热爱冒险和探索的年轻人。有一天,他看到了一张神秘的照片,照片上有一颗挂着红薯的树。这个景象让塔子哥觉得非常有趣,他决定也要种一颗树,并挂上一些红薯,以此分享他的冒险故事。塔子哥收集了一颗神奇的......
  • 塔子哥的最大数组-美团2023笔试(codefun2000)
    题目链接塔子哥的最大数组-美团2023笔试(codefun2000)题目内容塔子哥有一个长度为n的数组a,默认的求和方式是将a中所有元素加起来。但是塔子哥有一种技能,可以将求和的其中一次加法转换为乘法操作。在这种情况下,数组a的最大和为多少。输入描述第一行,一个正整......
  • 国内20家公司大模型岗位面试经验汇总(淘天/字节/蚂蚁/商汤/美团/夸克/腾讯等)你想去的都
    面试情况投过的公司:淘天,字节,蚂蚁,商汤,美团,夸克,腾讯,minimax,零一万物,阿里控股,潞晨科技,阿里巴巴国际,网易实验室,Momenta。Offer:淘天,字节AML,商汤,蚂蚁,美团,夸克,腾讯混元,天翼云。以下是面经分享淘天【offer】部门:未来生活实验室介绍:淘天集团的大模型研究将主要围绕两个场景展......
  • 第二题-塔子哥的编译原理实验【KMP】
    本题的模式串可以展开,使用栈来模拟即可,每次一个(放入栈中对应的位置以及前面的数量,每次)弹出栈顶元素,然后将栈顶元素的数量乘以当前的字符串加上栈顶元素的前面的字符串加入到模式串中即可。需要注意有可能模式串非常长,所以中间需要判断是否已经超过了匹配串的长度,超过则直接返......
  • 【阿里淘天笔试题汇总】2024-04-03-阿里淘天春招笔试题(第一套)-三语言题解(CPP/Pytho
    ......
  • 【阿里淘天笔试题汇总】2024-04-03-阿里淘天春招笔试题(第二套)-三语言题解(CPP/Pytho
    ......
  • 淘天测开一面面经
    淘天测开一面自我介绍研究生成绩+本科成绩什么编程语言为什么想要做这样一个项目(webserver)?初衷是什么?之后有没有用到?实验室项目,在这个项目中的职责,做了哪些工作?怎么决定使用哪个算法来训练你的模型的?你们的团队中是怎么协调的?在整个项目推进的过程中,怎么分......