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

字符串问题(哈希表解决)

码蹄集OJ-连续的串

给你一个字符串,找出现次数最多的长度为2的子串。

暴力解决:定义一个二维数组,横坐标代表长度为二的字符串的第一个字母,纵坐标指的是第二个字母。遍历所给字符串,每两个两个遍历,最后取得二维数组的最大值。最后从数组中将这个最大值所对应的字符串找出来。

#include<bits/stdc++.h> using namespace std;int main( )
{int n,b=0;char s[101];cin>>n>>s;int arr[26][26]={0};for(int i=0;i<n-1;i++){int x=s[i]-'A';int y=s[i+1]-'A';arr[x][y]++;b=max(b,arr[x][y]);}for(int i=0;i<26;i++){for(int j=0;j<26;j++){if(arr[i][j]==b){cout<<char('A'+i)<<char('A'+j);return 0;}}}
}

利用map数据结构解决:

    map<string, int> freq;

定义一个map集合,表示每一种字符串出现的次数。利用substr()函数从i开始向后取2个元素,再将这个字符串出现的次数加一。遍历哈希表找到出现次数的最大值,也就是值(p.second())的最大值,和这个键值所对应的字符串。

#include<bits/stdc++.h> using namespace std;int main( )
{int n;string s;cin >> n >> s;map<string, int> freq;for(int i=0;i<n-1;i++){string sub=s.substr(i,2);freq[sub]++;}int maxnum=0;string ss;for(const auto&p:freq){if(p.second>maxnum||p.second==maxnum&&(ss.empty()||p.first<ss)){maxnum=p.second;ss=p.first;}}cout<<ss<<endl;return 0;
}

http://www.xdnf.cn/news/1114255.html

相关文章:

  • 【论文阅读】Think Only When You Need with Large Hybrid-Reasoning Models
  • 【源力觉醒 创作者计划】文心开源大模型ERNIE-4.5私有化部署保姆级教程与多功能界面窗口部署
  • 编译器优化——LLVM IR,零基础入门
  • 我做了一个windows端口占用查看跟释放工具
  • Spring AI 项目实战(十六):Spring + AI + 通义万相图像生成工具全栈项目实战(附完整源码)
  • linux-shell脚本
  • SpringCloud云间剑歌 第四章:藏经阁与信鸽传书
  • 打造你的专属智能生活:鸿蒙系统自定义场景开发全流程详解
  • package.json 与 package-lock.json
  • Redis缓存设计与性能优化指南
  • Web攻防-PHP反序列化原生内置类Exception类SoapClient类SimpleXMLElement
  • 分类问题-机器学习
  • 011_视觉能力与图像处理
  • 力扣面试150题--单词搜索
  • MySQL 分表功能应用场景实现全方位详解与示例
  • Flink学习笔记:整体架构
  • Docker(02) Docker-Compose、Dockerfile镜像构建、Portainer
  • 13. Flink 高可用机制简述(Standalone 模式)
  • 14.ResourceMangaer启动解析
  • 鸿蒙项目构建配置
  • LabVIEW智能避障小车
  • Http与Https区别和联系
  • [NCTF2019]Fake XML cookbook
  • 六、深度学习——NLP
  • Redis 基础详细介绍(Redis简单介绍,命令行客户端,Redis 命令,Java客户端)
  • 编程与数学 03-001 计算机组成原理 04_非数值数据表示与校验码
  • Rerank模型
  • 【设计模式】职责链模式(责任链模式) 行为型模式,纯与不纯的职责链模式
  • LeetCode|Day9|976. 三角形的最大周长|Python刷题笔记
  • [论文阅读] 软件工程 | 首个德语软件工程情感分析黄金标准数据集:构建与价值解析