如何检查整数中的重复序列

2024-02-23

我有一个字母数字字符串,我想检查其中的整数模式重复。而且它们应该是连续的。

Example

  1. 12341234qwe应该告诉我1234被重复。
  2. 1234qwe1234 should NOT告诉我1234重复,因为它不连续。
  3. 12121212应被视为12被重复,因为这是第一组被发现被重复的。但如果有一种算法可以找到1212正如之前重复设置的12然后我想它必须再次执行这些步骤1212.

我的想法是我可以通过迭代和比较来存储整数部分( <= '0' && >= '9')在不同的StringBuilder。然后我读到有关对字符串执行 FFT 的内容,它显示了重复的模式。但我不知道如何在 Java 中执行 FFT 并查找结果,而且我希望尝试在不进行信号处理的情况下执行此操作。我读过有关 KMP 模式匹配的内容,但它仅适用于给定的输入。还有其他方法可以做到这一点吗?


我认为你可以借助正则表达式来解决这个问题。考虑这样的代码:

String arr[] = {"12341234abc", "1234foo1234", "12121212", "111111111", "1a1212b123123c12341234d1234512345"};
String regex = "(\\d+?)\\1";
Pattern p = Pattern.compile(regex);
for (String elem : arr) {
    boolean noMatchFound = true;
    Matcher matcher = p.matcher(elem);
    while (matcher.find()) {
        noMatchFound = false;
        System.out.println(elem + " got repeated: " + matcher.group(1));
    }
    if (noMatchFound) {
        System.out.println(elem + " has no repeation");
    }
}

OUTPUT:

abc12341234abc got repeated: 1234
1234foo1234 has no repeation
12121212 got repeated: 12
12121212 got repeated: 12
111111111 got repeated: 1
111111111 got repeated: 1
111111111 got repeated: 1
111111111 got repeated: 1
1a1212b123123c12341234d1234512345 got repeated: 12
1a1212b123123c12341234d1234512345 got repeated: 123
1a1212b123123c12341234d1234512345 got repeated: 1234
1a1212b123123c12341234d1234512345 got repeated: 12345

解释:

使用的正则表达式是(\\d+?)\\1 where

\\d        - means a numerical digit
\\d+       - means 1 or more occurrences of a digit
\\d+?      - means reluctant (non-greedy) match of 1 OR more digits
( and )    - to group the above regex into group # 1
\\1        - means back reference to group # 1
(\\d+?)\\1 - repeat the group # 1 immediately after group # 1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检查整数中的重复序列 的相关文章

随机推荐

  • 将 Qt GUI 添加到动态库

    问候溢出 我正在尝试向现有项目添加 GUI 更具体地说 对于作为 so文件 或者在 win32 上编译时 dll 该项目已经拥有自己的线程实现来处理可移植性 我知道 Qt 有自己的跨平台线程模型 但最好保留在现有的线程模型中 我对 Qt 老
  • 同时触发if和else的BUG Unity C#

    我在使用最新版本的 Unity 时遇到了一个非常奇怪的错误 IDE 是 Visual Studio 2015 社区 我有一个按钮 单击它时会触发一个函数 并发送一个短字符串作为参数 在该方法中 我首先检查字符串是否为空或空 如果是这种情况
  • 间接修改重载属性Laravel MongoDB

    我将 MongoDB 与 Laravel 一起使用 我有一个名为categories其中有一个文档 id 567dc4b4279871d0068b4568 name Fashion images http example com 1 jpg
  • 如何制作自定义载波后处理器?

    我需要对不是图像的文件上传进行一些后期处理 在回形针中我可以有一个自定义后处理器 但我找不到任何方法在 Carrierwave 中执行此操作 Ruby 1 9 3 Rails 3 2 7 和 CarrierWave 0 6 2 OP的问题是
  • 如何在UIView上插入图片?

    下面的代码在 UIView 上打印一行 我只想知道我要编写的代码能够在视图顶部插入图像 import UIKit class draw UIView var line UIBezierPath var line1 UIBezierPath
  • Ruby 中的横切日志记录

    我正在尝试从外部向方法添加日志记录 面向方面 的风格 class A def test puts I m Doing something end end class A with logging alias method test orig
  • :hover 的 CSS 伪类在 IE7 中不起作用

    我有问题 hoverCSS 的伪类 我用它就像 tr lightRow hover color red 它可以在 Safari 和 Firefox 中运行 但不能在 IE7 中运行 请帮我 IE7 支持 hover 至少在标准模式下是这样
  • 按下按钮以允许全屏查看内容时是否可以隐藏选项卡栏?

    我的基于导航的应用程序的详细视图中有一个 UITabBar 我将文本和图像存储在表格视图中 并希望用户能够点击单元格来隐藏导航控制器和选项卡栏 以便全屏查看内容 我找到了隐藏顶部栏的代码 但隐藏选项卡栏似乎并不容易 UIApplicatio
  • UIButton 图像的色调

    我注意到当我放置白色或黑色UIImage into a UISegmentedControl它会自动对其进行颜色遮罩以匹配分段控件的色调 我觉得这真的很酷 并且想知道我是否也可以在其他地方这样做 例如 我有一堆形状统一但颜色不同的按钮 我是
  • 是什么原因导致 com.aerospike.client.AerospikeException: java.io.EOFException? [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 这是什么原因呢 com aerospike client AerospikeException java io EOFE
  • 使用 XSL 呈现整个网页的优点/缺点

    我正处于与客户一起规划一个项目的初步阶段 以重做他们当前的网站 我查看了他们当前的网站 了解他们当前正在处理哪些问题 经过检查 我注意到每个页面都完全使用 XSLT 呈现 我熟悉 XSLT 我用它来渲染需要在客户端经常刷新的自定义控件 但从
  • 根据 pandas 数据帧的名称绘制正态分布图

    我有一个如下所示的数据框 dateTime Name DateTime day seconds zscore 11 1 2016 15 17 james 11 1 2016 15 17 Tue 55020 1 158266091 11 1
  • RouterLink 在 Angular 6 中不起作用

    我正在观看 Brad Traversy 教程进行编码 我确实按照说的做了 这是我的 app module ts import BrowserModule from angular platform browser import NgModu
  • 在 phpoffice/phpword 上添加图表

    我知道如何在 PHPExcel 上添加图表 但我还需要在 docx 文件上插入图表 是否可以使用 phpoffice phpword 操作图表 如果不可能 您知道适合这项工作的好库吗 实际上不可能在 PHPWord 文档中添加图表 但该功能
  • 选择范围中的第一个字母 ( PostgreSQL )

    我正在尝试从单词的第一个字母在某个范围内的表中进行选择 例如 a f 我尝试使用这样的 where 子句 WHERE lower substring title from 1 for 1 IN ARRAY a k t 希望我稍后能找到一种动
  • 浏览器和凉亭。规范方法

    我现在使用 npm 中无法开箱即用的软件包的方式是这样的 package json 有 napa angular angular bower angular angular animate angular bower angular ani
  • 这个指针转换是否违反了严格的别名规则?

    这是 Quake III Arena 的快速反平方根实现 float Q rsqrt float number long i float x2 y const float threehalfs 1 5F x2 number 0 5F y n
  • GDB:创建局部变量?

    我正在使用 Xcode 的调试器 当停在断点处时 是否可以在 GDB 命令提示符中键入命令来创建局部变量 如果是这样 怎么办 请举个例子 我知道我可以在代码中完成它 然后重新编译程序 但我正在寻找一种更快的方法 如果您不需要在代码中引用变量
  • ABCpdf 转换 html 锚点以跳转到同一 PDF 中的另一个页面

    我使用 ABCpdf 动态生成 PDF 其中包含一个目录 该目录将链接到同一 PDF 中的其他页面 问题是 HTML 中锚标记的路径更改为临时文件的绝对路径 例如 ABCpdf 将呈现链接的 href a href elementId Li
  • 如何检查整数中的重复序列

    我有一个字母数字字符串 我想检查其中的整数模式重复 而且它们应该是连续的 Example 12341234qwe应该告诉我1234被重复 1234qwe1234 should NOT告诉我1234重复 因为它不连续 12121212应被视为