当前位置: 首页 > news >正文

牛客:HJ26 字符串排序[华为机考][map]

学习要点

  1. multimap.equal_range

题目链接

        字符串排序_牛客题霸_牛客网

题目描述

解法:multimap

#include <bits/stdc++.h>
#include <cctype>
#include <iostream>
#include <unordered_map>
using namespace std;int main() {string line_big_str;getline(cin,line_big_str);multimap<char,vector<int>> ch_bool_pos_map;vector<char> ret_ch(line_big_str.size(),'a');for(int i = 0;i<line_big_str.size();i++){if(islower(line_big_str[i])){// 构造值数组vector<int> tv;tv.push_back(1); tv.push_back(i);// 构造键值对:小写字母ch_bool_pos_map.insert({line_big_str[i],tv});}else if(isupper(line_big_str[i])){// 构造值数组vector<int> tv;tv.push_back(0); tv.push_back(i);// 构造键值对:大写字母ch_bool_pos_map.insert({tolower(line_big_str[i]),tv});}else {// 确定非字母字符位置ret_ch[i] = line_big_str[i];}}// 写入ret_chvector<char> t_ret;for(char ch = 'a';ch<='z';ch++){auto it1 = ch_bool_pos_map.find(ch);if(it1 == ch_bool_pos_map.end()){continue;}else{// 构造单桶mapauto it2 = ch_bool_pos_map.equal_range(ch);map<int,char> zi_map;for(auto i = it2.first;i != it2.second;i++){zi_map[i->second[1]] = i->second[0] == 1 ? ch : toupper(ch);}// 填入t_retfor(auto& i: zi_map){t_ret.push_back(i.second);}}}// 写入ret_chfor(int i = ret_ch.size() -1;i>=0;i--){if(ret_ch[i] != 'a')continue;ret_ch[i] = t_ret.back();t_ret.pop_back();}// 开始打印for(auto& i: ret_ch){cout << i;}
}// 64 位输出请用 printf("%lld")

http://www.dtcms.com/a/282914.html

相关文章:

  • web:js提示框、询问框、输入框的使用
  • React 条件渲染完全指南
  • 题解:P13256 [GCJ 2014 #2] Data Packing
  • 新版本Cursor中配置自定义MCP服务器教程,附MCP工具开发实战源码
  • 棱镜观察|比亚迪“全责兜底”智能泊车!“减配”风潮接踵而至
  • realsense应用--rs-distance(距离测量)
  • 中国旅行社协会在京召开“文旅人工智能应用研讨会”,助力文旅创新发展
  • 分块(chunked) vs 滑动窗口(windowed)
  • 【25-cv-07929】Keith携Lisa Audit向日葵画作发案
  • 性能测试过程中监控linux服务器资源情况
  • c语言常用的字符串函数简介概括
  • 【基于飞浆训练车牌识别模型】
  • 2.库操作
  • cookie和session、favicon.ico
  • 管家婆辉煌ERP登录报错:HTTP 错误 404.2
  • 嵌入式下快速傅里叶变换(FFT)C语言库kissfft
  • 图机器学习(9)——图正则化算法
  • 2. nth-child 和 nth-of-type 区别
  • xss-labs通关
  • k8s之持久化存储流程
  • 小架构step系列16:代码文档
  • 深度点评:2025 年机床钣金加工 TOP10 终极点评
  • 批量文件重命名工具 香菇重命名v0.2
  • Linux运维新手的修炼手扎之第21天
  • 调试bug记录
  • 如何用山海鲸轻松构建3D智慧大屏?
  • 【开源.NET】一个 .NET 开源美观、灵活易用、功能强大的图表库
  • 3DGS之COLMAP
  • 能行为监测算法:低成本下的高效管理
  • LIN通信协议入门