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

无锡网站制作中心电子版个人简历模板

无锡网站制作中心,电子版个人简历模板,哪个网站做招聘海报比较好,丰都网站建设报价目录 专栏导读一、题目描述二、输入描述三、输出描述1、输入2、输出3、说明4、再输入5、输出6、说明 四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08…

在这里插入图片描述

目录

    • 专栏导读
    • 一、题目描述
    • 二、输入描述
    • 三、输出描述
      • 1、输入
      • 2、输出
      • 3、说明
      • 4、再输入
      • 5、输出
      • 6、说明
    • 四、解题思路
    • 五、Java算法源码
    • 六、效果展示
      • 1、输入
      • 2、输出
      • 3、说明

华为OD机试 2023B卷题库疯狂收录中,刷题点这里

专栏导读

本专栏收录于《华为OD机试(JAVA)真题(A卷+B卷)》。

刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。

一、题目描述

给定一个字符串,只包含大写字母,求在包含同一字母的子串中,长度第 k 长的子串的长度,相同字母只取最长的那个子串。

二、输入描述

第一行有一个子串(1<长度<=100),只包含大写字母。

第二行为 k的值

三、输出描述

输出连续出现次数第k多的字母的次数。

例如:

1、输入

AAAAHHHBBCDHHHH
3

2、输出

2

3、说明

  • 同一字母连续出现的最多的是A和H,四次;
  • 第二多的是H,3次,但是H已经存在4个连续的,故不考虑;
  • 下个最长子串是BB,所以最终答案应该输出2

4、再输入

AABAAA
2

5、输出

1

6、说明

  • 同一字母连续出现的最多的是A,三次;
  • 第二多的还是A,两次,但A已经存在最大连续次数三次,故不考虑;
  • 下个最长子串是B,所以输出1。

四、解题思路

本题的关键是理解“相同字母只取最长的那个子串”。

  1. 遍历输入字符串,获取每个字母最长的字符串;
  2. 再将其按照字符串长度降序排序;
  3. 获取连续出现次数第k多的字母的个数;

五、Java算法源码

package com.guor.od;import java.util.*;public class OdTest02 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String input = sc.nextLine();int index = Integer.valueOf(sc.nextLine());// 首字母连续字符串String firstSameStr = getSameChar(input);// 记录某字符的最大长度Map<Character, Integer> map = new HashMap<Character, Integer>();map.put(firstSameStr.charAt(0), firstSameStr.length());while (input.substring(firstSameStr.length()).length() > 0) {input = input.substring(firstSameStr.length());firstSameStr = getSameChar(input);// 如果map中没有此字符if (!map.containsKey(firstSameStr.charAt(0))) {map.put(firstSameStr.charAt(0), firstSameStr.length());continue;}// 获取某字符的最大长度if (map.get(firstSameStr.charAt(0)) < firstSameStr.length()) {map.put(firstSameStr.charAt(0), firstSameStr.length());}}// 存储相同字母最常的那个字符串List<String> list = new ArrayList<String>();for(Map.Entry<Character, Integer> entry : map.entrySet()){Character key = entry.getKey();Integer value = entry.getValue();StringBuilder builder = new StringBuilder();for (int i = 0; i < value; i++) {builder.append(key);}list.add(builder.toString());}// 按相同字符长度降序排列list.sort(new Comparator<String>() {@Overridepublic int compare(String o1, String o2) {if (o1.length() > o2.length()) {return -1;}else if (o1.length() < o2.length()) {return 1;}else {return 0;}}});System.out.println(list);// 输出连续出现次数第k多的字母的次数System.out.println(list.get(index - 1).length());}// 获取首字母连续字符串public static String getSameChar(String str) {StringBuilder builder = new StringBuilder();char first = str.charAt(0);builder.append(first);for (int i = 1; i < str.length(); i++) {if(first != str.charAt(i)){break;}builder.append(str.charAt(i));}return builder.toString();}
}

六、效果展示

1、输入

AABBBCCCCCAAAAABB
3

2、输出

3

3、说明

AABBBCCCCCAAAAABB

(1)遍历输入字符串,获取每个字母最长的字符串

AAAAABBBCCCCC

(2)按照其字符串长度排序

AAAAACCCCCBBB

(3)获取第3长的字符的个数

即B的个数3。

在这里插入图片描述


🏆下一篇:华为OD机试真题 Java 实现【简易内存池】【2023 B卷 200分 考生抽中题】

🏆本文收录于,华为OD机试(JAVA)真题(A卷+B卷)

刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。

在这里插入图片描述

http://www.yayakq.cn/news/903532/

相关文章:

  • php的网站怎么做的软件代做网站在哪找活
  • 怎样做专业网站网站网页进口
  • 网站建设太金手指六六十一wordpress动态页面
  • 网站计划上海优化网站排名
  • com表示商业网站备案域名购买完过户简单吗
  • 网站数字化建设方案网站开发主流技术线路介绍
  • 顺德网站建设制作小璇seo优化网站
  • 网站建设管理考核办法福州建设网站公司
  • 建设银行网站背景网上建设银行网站首页
  • 双公示网站专栏建设wordpress如何把文件添加到媒体库
  • 网站做二级目录跟二级域名的区别wordpress自动播放视频
  • 深圳教育科技网站建设wordpress导入图片不显示
  • 网站建设如何跑单子福田瑞沃e3自卸车
  • 四川省建设安全质量监理协会网站商标设计网页
  • 专业网站设计制作服务成长影片免费观看完整版
  • 看书网站排名深圳网站建设有哪些公司
  • 岭南地区网站建设wordpress演示数据导入
  • 苗族网站建设wordpress微信公众平台插件
  • 注册劳务公司流程和费用WordPress中文seo
  • 复杂大型网站建设成本甘肃农产品网站建设
  • 平湖做网站企业流程管理系统
  • 辽阳企业网站建设团队淄博网站设计
  • 旅游网站的建设开题报告宁波网站建设制作哪家好
  • 哪个网站可以做ppt模板南宁市城市建设档案馆网站
  • 公司网站制作平台公司网站申请书
  • 网站的ftp别的公司会给么贵港北京网站建设
  • 网站更改文章标题html跳转到另一个html页面
  • 微信分销网站建设哪家好上一篇 下一篇 wordpress
  • 企业网站建设公司地址邢台搜
  • 网站网站开发建设网站轮播效果怎么做