美文网首页
字串计算

字串计算

作者: 雇个城管打天下 | 来源:发表于2018-07-12 19:21 被阅读20次

题目描述

给出一个01字符串(长度不超过100),求其每一个子串出现的次数。

输入描述:

输入包含多行,每行一个字符串。

输出描述:

对每个字符串,输出它所有出现次数在1次以上的子串和这个子串出现的次数,输出按字典序排序。

示例1

输入

10101

输出

0 2
01 2
1 3
10 2
101 2

解析

HashMap是个好东西,这道题只要先把字符串的所有子字符串全部分割出来然后存入一个list中,然后利用hashmap保存对应子字符串出现的次数,最后讲数目大于一的输出即可,原理简单,直接上代码.

代码

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        String line;
        while (input.hasNextLine()) {
            line = input.nextLine();
            parse(line);
        }
    }

    private static void parse(String line) {
        String subLine;
        Map<String, Integer> map = new TreeMap<>();
        ArrayList<String> list = new ArrayList<>();
        for (int i = 0; i < line.length(); i++) {
            for (int j = i + 1; j <= line.length(); j++) {
                subLine = line.substring(i, j);
                if (subLine.length() != line.length()) {
                    list.add(subLine);
                    map.put(subLine, 0);
                }
            }
        }
        for (int i = 0; i < list.size(); i++) {
            for (Map.Entry<String, Integer> entry : map.entrySet()) {
                if (list.get(i).equals(entry.getKey())) {
                    entry.setValue(entry.getValue() + 1);
                }
            }
        }
        for (Map.Entry<String, Integer> entry : map.entrySet()) {
            if (entry.getValue() > 1) {
                System.out.print(entry.getKey() + " " + entry.getValue());
                System.out.println();
            }
        }
    }
}

题目难度不大,注意HashMap的相关用法即可。

相关文章

  • 字串计算

    题目描述 给出一个01字符串(长度不超过100),求其每一个子串出现的次数。 输入描述: 输入包含多行,每行一个字...

  • 公共字串计算

    1.描述 计算两个字符串的最大公共字串的长度,字符不区分大小写。 2.原型 int getCommonStrLen...

  • HWOJ公共字串计算

  • KMP字串匹配-入门

    1、串的定义 这里所说的串指的是字串,就是字符串,当然不是烧烤串。计算机的字串是用编码形式保存的,通常的ASCII...

  • Multiply Strings go语言实现

    Multiply Strings 题目描述 思路: 不需要逆序,正常计算。 切片转为字串,Trim掉左边的0。单独...

  • Multiply Strings_leetcode_go

    Multiply Strings 题目描述 思路: 不需要逆序,正常计算。 切片转为字串,Trim掉左边的0。单独...

  • 海量数据去重

    一个文件中有40亿条数据,每条数据是一个32位的数字串,设计算法对其去重,相同的数字串仅保留一个,内存限制1G. ...

  • 20170914

    1.如果得到随机的字串,长度和字串中出现的字符表可定义,并将字串倒序显示,如把0123456789作为基准的字串字...

  • 谁说菜鸟不会数据分析SPSS篇自学中的问题

    P36计算变量,char substr(3)函数 出现“未提供所指定函數需要的字串引數” 原因:需要拆分的列(行)...

  • 14 - shell字符串处理及变量

    字符串处理机制 字串截取 语法格式:${变量:起始位置:长度} 子串替换 替换1个结果:${变量/旧字串/新字串}...

网友评论

      本文标题:字串计算

      本文链接:https://www.haomeiwen.com/subject/zvnrpftx.html