map的oj题

news2024/11/8 10:25:49

第一题

. - 力扣(LeetCode)

第二题

单词识别_牛客题霸_牛客网

解题思路:

        1,将数据放入set或者map中去重更新次数, 即利用set和map的[ ]++   

        2. 将数据放到vector 进行排序 ,还应该利用仿函数写出 Compare() ,因为sort()是不稳定排序,且要的是降序

第一题答案

class Solution {
public:
    struct Compare
    {
        bool operator()(const pair<string ,int>& x ,const pair<string ,int>& y)
        {
            return x.second > y.second|| (x.second == y.second && x.first< y.first);
        }
    }; 

    vector<string> topKFrequent(vector<string>& words, int k) 
    {
        //map插入时已经将string按照字典序排好了
        map<string,int> CountMap;

        for(const auto& e:words)
        {
           CountMap[e]++;
        }

        vector<pair<string ,int>> comparev;
        for(const auto& e: CountMap)
        {
            comparev.push_back(e);
        }
        //排降序,但是sort是快排+堆排 ,sort不稳定。可以直接用stable_sort
        //stable_sort(comparev.begin() ,comparev.end(),Compare());
        sort(comparev.begin() ,comparev.end(),Compare());

        vector<string> ret;
        for(int i=0 ;i<k; ++i)
        {
            ret.push_back(comparev[i].first);
        }
        return ret;
        
    }
};

第二题答案

#include <iostream>
#include<map>
#include<vector>
#include<algorithm>
using namespace std;

struct Compare {
    bool operator()(const pair<string, int>& p1, const pair<string, int>& p2) {
        char first1 = p1.first[0];
        char first2 = p2.first[0];
        return p1.second > p2.second || (p1.second == p2.second && first1 < first2);
    }
};
int main() 
{
    map<string, int> countm;
    string s;
    getline(cin, s);
    vector<pair<string, int>> v;

    for (int i = 0, j = 0 ; i < s.size() ; i++) {
        if (s[i] == ' ' || s[i] == '.') {
            string s1 = s.substr(j, i - j);
            if (isupper(s1[0])) {
                s1[0] = tolower(s1[0]); //重要
            }
            v.push_back({s1, 0});
            j = i + 1;
        }
    }

    for (auto e : v) 
    {
        countm[e.first]++;
    }

    vector<pair<string, int>> retv;
    for(const auto& e:countm)
    {
        retv.push_back(e);
    }
    
    sort(retv.begin() , retv.end(), Compare());

    for (const auto& e : retv) {
        cout << e.first << ":" << e.second << endl;
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2228463.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android13预置应用及授权开发

在android13中&#xff0c;要预置一个对讲应用&#xff0c;从预置和授权&#xff0c;梳理了一下&#xff0c;以便后续查询使用。在此记录 一放置应用 我的apk应用放在vendor下面&#xff0c; 路径&#xff1a;projectroot/vendor/fly/package/apps/DMR/flydmr.apk (vendor/fl…

【深度学习中的注意力机制9】11种主流注意力机制112个创新研究paper+代码——滑动窗口注意力(Sliding Window Attention)

【深度学习中的注意力机制9】11种主流注意力机制112个创新研究paper代码——滑动窗口注意力&#xff08;Sliding Window Attention&#xff09; 【深度学习中的注意力机制9】11种主流注意力机制112个创新研究paper代码——滑动窗口注意力&#xff08;Sliding Window Attention…

RK3568平台(PWM篇)红外遥控适配

一.红外遥控简介 红外遥控的发射电路是采用红外发光二极管来发出经过调制的红外光波;红外接收电路由红外 接收二极管、三极管或硅光电池组成,它们将红外发射器发射的红外光转换为相应的电信号,再送 后置放大器。 鉴于家用电器的品种多样化和用户的使用特点,生产厂家对进行…

【Linux初阶】指令操作

上一篇文章&#xff08;⭐点这里⭐⭐点这里&#xff09;我们初步对Linux有了一些基本的认识&#xff0c;了解到了Windows的图形化界面操作和Linux的纯命令指令是操作上二者最大的区别&#xff0c;今天我们来继续深入的学习Linux的操作指令&#xff0c;学习一些基本的指令来控制…

跨平台开发支付组件,实现支付宝支付

效果图&#xff1a; custom-payment &#xff1a; 在生成预付订单之后页面中需要弹出一个弹层&#xff0c;弹层中展示的内容为支付方式&#xff08;渠道&#xff09;&#xff0c;由用户选择一种支付方式进行支付。 该弹层组件是以扩展组件 uni-popup 为核心的&#xff0c;关于…

MFC图形函数学习04——画矩形函数

MFC中绘制矩形函数是MFC的基本绘图函数&#xff0c;它的大小和位置由左上角和右下角的坐标决定&#xff1b;若想绘制的矩形边框线型、线宽、颜色以及填充颜色都还需要其它函数的配合。 一、绘制矩形函数 原型&#xff1a;BOOL Rectangle(int x1,int y1,int x2,int y2); …

【网络面试篇】TCP连接建立(笔记)

目录 一、三次握手 1. 过程描述 2. 为什么是三次握手&#xff1f;不是两次、四次&#xff1f; &#xff08;1&#xff09;三次握手才可以阻止重复历史连接的初始化 &#xff08;2&#xff09;三次握手才可以同步双方的初始序列号 &#xff08;3&#xff09;三次握手才可以…

04.DDD与CQRS

学习视频来源&#xff1a;DDD独家秘籍视频合集 https://space.bilibili.com/24690212/channel/collectiondetail?sid1940048&ctype0 文章目录 定义职责分离DDD与CQRS的关系领域模型和查询模型特点命令场景的领域模型查询场景的查询模型 架构方案领域事件方案1&#xff1a…

树莓派全网最全安装测试(包括系统,显示器,灯,舵机灯测试)

1.下载ubuntu https://cdimage.ubuntu.com/releases/20.04.5/release/ 2.格式化和烧录镜像源 3.修改自己的wifl sd卡直接放回树莓派 4.IP地址 https://www.bilibili.com/video/BV1YD421H7zF/?buvidXU5DB1750D0CD69E8D83AEE359EB6582A7396&is_story_h5false&midMJB9z…

LabVIEW涡扇发动机加力泵测试

LabVIEW软件开发的涡扇发动机加力泵测试平台采用高度集成的硬件设备&#xff0c;实现了对涡扇发动机加力泵的全面测试和分析&#xff0c;从而确保其性能满足严格的航空标准。 项目背景 涡扇发动机是现代飞机的重要动力来源之一&#xff0c;其加力泵的性能直接影响飞机的整体动…

车载中控系统的UI自动化测试实践

本文主要介绍了如何在车载中控系统中实施UI自动化测试的过程&#xff0c;从测试环境的准备到测试用例的设计&#xff0c;再到具体实现方法及注意事项等方面进行了详细的阐述。 引言 随着汽车行业的快速发展&#xff0c;车载中控系统已成为提升驾驶体验的重要组成部分。为了保…

echarts属性之dataZoom

dataZoom-slider 滑动条型数据区域缩放组件&#xff08;dataZoomInside&#xff09; 滑动条型数据区域缩放组件提供了数据缩略图显示&#xff0c;缩放&#xff0c;刷选&#xff0c;拖拽&#xff0c;点击快速定位等数据筛选的功能。下图显示了该组件可交互部分 所有属性 data…

牛客小白月赛103(打表、二进制、几何、思维)

文章目录 牛客小白月赛103&#xff08;打表、二进制、几何、思维&#xff09;A. 小冰的正多边形B. 冰冰的电子邮箱C. 冰冰的异或&#xff08;打表、二进制&#xff09;D. 冰冰的分界线&#xff08;几何、浮点数处理&#xff09;E. 冰冰的 GCD(调和级数、思维) 据说F是假题&…

「C/C++」C++17 之 std::variant 安全的联合体(变体)

#1024程序员节&#xff5c;征文# ✨博客主页何曾参静谧的博客&#x1f4cc;文章专栏「C/C」C/C程序设计&#x1f4da;全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计…

Web3的去中心化社交网络:区块链技术如何改变互动方式

随着互联网技术的不断进步&#xff0c;社交网络正在经历一场深刻的变革。Web3&#xff0c;作为新一代互联网技术的代表&#xff0c;正通过区块链和去中心化理念改变着我们与他人互动的方式。传统的社交网络通常由大型公司控制&#xff0c;用户数据的集中化管理和隐私问题备受关…

代码随想录(十二)——图论

并查集 并查集主要有三个功能。 寻找根节点&#xff0c;函数&#xff1a;find(int u)&#xff0c;也就是判断这个节点的祖先节点是哪个将两个节点接入到同一个集合&#xff0c;函数&#xff1a;join(int u, int v)&#xff0c;将两个节点连在同一个根节点上判断两个节点是否在…

HarmonyOS 5.0应用开发——文件读写

【高心星出品】 文章目录 文件读写文件操作创建目录删除目录或者文件扫描目录中文件 文本读写写入文本读取文本内容 文件读写文件写入边读边写 文件读写 Core File Kit&#xff08;文件基础服务&#xff09;为开发者提供一套访问和管理应用文件和用户文件的能力。帮助用户更高…

44-RK3588s调试 camera-engine-rkaiq(rkaiq_3A_server)

在RK3588s平台上调试imx415 camera sensor 过程中&#xff0c;已经识别到了camera sensor ID&#xff0c;并且可以拿到raw图和isp处理后的图像&#xff0c;但是isp处理后的图像偏绿&#xff0c;来看查看后台服务发现rkaiq_3A_server没有运行&#xff0c;然后单独运行rkaiq_3A_s…

Linux 宝塔安装(各操作系统命令合集)

由于CentOS官方已全面停止维护CentOS Linux项目&#xff0c;公告指出 CentOS 7和8在2024年6月30日停止技术服务支持&#xff0c;详情见CentOS官方公告。导致CentOS系统源已全面失效&#xff0c;比如安装宝塔等等会出现网络不可达等报错&#xff0c;需要切换源。系统源问题&…

Android 获取OAID

获取OAID 老规矩&#xff0c;直接上&#xff1a; implementation com.huawei.hms:opendevice:6.11.0.300 // 要获取华为vaid 和aaid&#xff0c;还需添加opendevice 依赖implementation(name: oaid_sdk_2.5.0, ext: aar) import android.content.Context; import android.util.…