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

天梯-这是字符串题

隐式转换

  1. 隐式转换是指编译器在没有显式提示的情况下,自动将一种数据类型转换为另一种数据类型。这种转换是语言规范允许的,并且通常是为了让代码更简洁、更自然。隐式转换的类型字符类型( char )可以隐式转换为其对应的ASCII码值( int 类型)。这是因为字符本质上是存储在内存中的整数值,而ASCII码表定义了字符与整数值之间的映射关系。
  2. 数组的下标必须是整数类型,不能直接使用字母作为数组的下标。在C++中,字符类型( char )可以隐式转换为其对应的ASCII码值( int 类型),即一个字符,在数组下标或数组访问中会被自动转换为其ASCII码值。因此可以通过这种方式间接用字符(实际是字母的ASCII码值)作为数组下标。

map用法

题解

本题有两种解法,h 可以使用普通数组来实现,也可以使用 map

普通数组

注意,h数组一定要先初始化,h  数组如果没有被初始化,这意味着它可能包含任意值。当你对  h[s[i]]  进行自增操作时,可能会得到错误的结果。

#include<bits/stdc++.h>
using namespace std;
int main(){string s;int h[123]={0};cin>>s;int w[123],ans=0;for(int i='a';i<='z';i++){cin>>w[i];}for(int i=0;i<s.size();i++){h[s[i]]++;ans+=w[s[i]];}for(int i='a';i<='z';i++){if(i=='z'){cout<<h[i];}else cout<<h[i]<<" ";}cout<<endl;cout<<ans<<endl;return 0;
}

map

#include<bits/stdc++.h>
using namespace std;
int main(){string s;map<char,int>h;cin>>s;int w[123],ans=0;for(int i='a';i<='z';i++){cin>>w[i];}for(int i=0;i<s.size();i++){h[s[i]]++;ans+=w[s[i]];}for(int i='a';i<='z';i++){if(i=='z'){cout<<h[i];}else cout<<h[i]<<" ";}cout<<endl;cout<<ans<<endl;return 0;
}

相关文章:

  • Unity 接入阿里的全模态大模型Qwen2.5-Omni
  • VS中回显109:对‘pthread_create’未定义的引用
  • 服务器如何修复SSL证书错误?
  • 【Java面试笔记:基础】9.对比Hashtable、HashMap、TreeMap有什么不同?
  • 模型上下文协议MCP
  • pycharm调试typescript
  • Oracle 数据库中的 JSON:性能注意事项
  • 【CSS】层叠,优先级与继承(四):层叠,优先级与继承的关系
  • Elasticsearch 集群节点下线方案
  • SwiftUI 3.Button介绍和使用
  • Kimi做内容社区,剑指小红书?
  • AI赋能社区生态:虎跃办公的网址导航革新实践
  • 事业单位体检心电图不合格类型有哪些
  • Java高频面试之并发编程-06
  • 腾讯秋招面试题:bug生命周期中有哪些状态?
  • (即插即用模块-特征处理部分) 四十一、(2024) MSAA 多尺度注意力聚合模块
  • 为什么Spring中@Bean注解默认创建单例Bean
  • 计算机网络笔记(六)——1.6计算机网络的性能
  • 长连接、短连接与WebSocket的基本知识
  • crictl 遇到报错 /run/containerd/containerd.sock: connect: permission denied
  • 刘国中:毫不松懈巩固拓展脱贫攻坚成果,全力以赴抓好农业防灾减灾工作
  • 五一去哪儿|外国朋友来中国,“买买买”成为跨境旅游新趋势
  • A股三大股指涨跌互现:3343股收涨,两市成交超1.1万亿元
  • 国台办:相关优化离境退税政策适用于来大陆的台湾同胞
  • 中国防疫队深入缅甸安置点开展灾后卫生防疫工作
  • 游客曝九寨沟打网约车被出租车围堵,官方:前者违规,后者做法不对