牛客网Day1

目录

  • 一、选择题
  • 二、编程题
    • 2.1 组队竞赛
    • 2.2 删除公共字符

一、选择题

在这里插入图片描述
在这里插入图片描述

二、编程题

2.1 组队竞赛

在这里插入图片描述
在这里插入图片描述
参考代码:

#include <queue>

int main()
{
    priority_queue<int> pq;
    int n=0;
    cin>>n;
    int tmp=0;
    for(size_t i=0;i<3*n;i++)
    {
        cin>>tmp;
        pq.push(tmp);
    }
    long long sum=0;
    for(size_t i=0;i<n;i++)
    {
        pq.pop();
        //取第二大,第四大...,一共取n个求和
        sum+=pq.top();
        pq.pop();
    }
    cout<<sum<<endl;

    return 0;
}

2.2 删除公共字符

在这里插入图片描述
在这里插入图片描述
参考代码:

int main()
{
    string str1;
    string str2;
    //不能用cin,因为cin遇到空格会结束
    //getline读取一行,以回车为结束符
    getline(cin,str1);
    getline(cin,str2);

    int hash[128]={0};
    for(const auto& e:str2)
    {
        //把str2的字符都映射到哈希表的对应位置上
        hash[e]++;
    }
    string ret;
    for(const auto& e:str1)
    {
        //如果str1中的值存在于str2中,那么我们就跳过,即在str1中
        //删除该元素否则,这个字符就是我们要保留的,+=到ret即可
        if(hash[e]==0)
        {
            ret+=e;
        }
    }
    cout<<ret<<endl;

    return 0;
}

你学会了吗?文章来源地址https://uudwc.com/A/3w1kg

原文地址:https://blog.csdn.net/weixin_70056514/article/details/133256950

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

h
上一篇 2023年09月25日 11:40
算法-堆、队列、分治法-合并 K 个升序链表
下一篇 2023年09月25日 11:43