小编Kyl*_*aff的帖子

查找字符串中连续和非连续表达式的次数

我通过电话进行了编码采访,并被问到这个问题:

给定一个String(例如):

"aksdbaalaskdhfbblajdfhacccc aoudgalsaa bblisdfhcccc"

和表达式(例如):

"A + B + C-"

哪里:

+:表示重复2次之前的字符

- :表示在重复4次之前的char

查找给定表达式出现在字符串中的次数,其中操作数不连续且连续地发生.

上面的表达式发生了4次:

1) aksdbaalaskdhfbblajdfhacccc aoudgalsaa bblisdfhcccc
        ^^       ^^       ^^^^                    
        aa       bb       cccc
2) aksdbaalaskdhfbblajdfhacccc aoudgalsaa bblisdfhcccc
        ^^       ^^                               ^^^^
        aa       bb                               cccc

3) aksdbaalaskdhfbblajdfhacccc aoudgalsaa bblisdfhcccc
        ^^                                ^^      ^^^^
        aa                                bb      cccc

4) aksdbaalaskdhfbblajdfhacccc aoudgalsaa bblisdfhcccc
                                       ^^ ^^      ^^^^
                                       aa bb      cccc
Run Code Online (Sandbox Code Playgroud)

我不知道该怎么做.我开始做一个带有大量索引标记的迭代强力方法,但实现了编程中途的混乱和难度:

import java.util.*;

public class Main {

    public static int count(String expression, String input) {
        int count = 0;
        ArrayList<char[]> list = new …
Run Code Online (Sandbox Code Playgroud)

java regex string algorithm expression

9
推荐指数
1
解决办法
289
查看次数

标签 统计

algorithm ×1

expression ×1

java ×1

regex ×1

string ×1