LeetCode:3083. 字符串及其反转中是否存在同一子字符串(哈希 Java)

news/2024/12/27 16:38:17/

目录

3083. 字符串及其反转中是否存在同一子字符串

题目描述:

实现代码与解析:

二进制哈希

原理思路:


3083. 字符串及其反转中是否存在同一子字符串

题目描述:

        给你一个字符串 s ,请你判断字符串 s 是否存在一个长度为 2 的子字符串,在其反转后的字符串中也出现。

如果存在这样的子字符串,返回 true;如果不存在,返回 false 。

示例 1:

输入:s = "leetcode"

输出:true

解释:子字符串 "ee" 的长度为 2,它也出现在 reverse(s) == "edocteel" 中。

示例 2:

输入:s = "abcba"

输出:true

解释:所有长度为 2 的子字符串 "ab""bc""cb""ba" 也都出现在 reverse(s) == "abcba" 中。

示例 3:

输入:s = "abcd"

输出:false

解释:字符串 s 中不存在满足「在其反转后的字符串中也出现」且长度为 2 的子字符串。

提示:

  • 1 <= s.length <= 100
  • 字符串 s 仅由小写英文字母组成。

实现代码与解析:

二进制哈希

java">class Solution {public boolean isSubstringPresent(String s) {char[] cs = s.toCharArray();int[] hash = new int[26];for (int i = 1; i < cs.length; i++) {int x = cs[i - 1] - 'a';int y = cs[i] - 'a';hash[x] |= 1 << y;if ((hash[y] >> x & 1) > 0) {return true;}}return false;}
}

原理思路:

        hash判断一下长度为2的子串是否已经被遍历过即可。因为字母有限,可以直接用二进制来代表一个纬度的hash。


http://www.ppmy.cn/news/1558569.html

相关文章

计算机网络——期末复习(4)协议或技术汇总、思维导图

思维导图 协议与技术 物理层通信协议&#xff1a;曼彻斯特编码链路层通信协议&#xff1a;CSMA/CD &#xff08;1&#xff09;停止-等待协议&#xff08;属于自动请求重传ARQ协议&#xff09;&#xff1a;确认、否认、重传、超时重传、 &#xff08;2&#xff09;回退N帧协…

解决:excel鼠标滚动幅度太大如何调节?

在excel里为什么滚动一次跳过很多行呢&#xff1f;很不方便。。。 1. 问题&#xff1a; 一开始单元格从第1行开始&#xff1a; 鼠标轻轻滚动一下后&#xff0c;直接跳到第4行&#xff1a; 鼠标在word和浏览器里都是好好的。在excel里为什么不是滚动一次跳过一行呢&#xff…

xterm遇到的问题及解决方案

xterm遇到的问题及解决方案 /r插入终端导致的之后插入的数据覆盖了改行头部的数据 问题说明 如图所示&#xff0c;当在一行输入的候&#xff0c;输入的l插入到了改行的头部。 查看ws返回数据 可见ws返回的信息存在\r字符&#xff0c;在xterm.js中\r是回车字符的意思&…

RTMW:实时多人2D和3D 全人体姿态估计

单位&#xff1a;上海AI实验室 代码&#xff1a;mmpose/tree/main/projects/rtmpose 系列文章目录 RTMO: 面向高性能单阶段的实时多人姿态估计 目录 系列文章目录摘要一、背景二、相关工作2.1 自上而下的方法。2.2 坐标分类。2.3 3D Pose 3 实验方法3.1.1 任务限制3.1.3训练技…

利用 Python 编写一个 VIP 音乐下载脚本

在这篇博客中,我们将介绍如何使用 Python 编写一个简单的 VIP 音乐下载脚本,利用网页爬虫技术从一个音乐网站下载歌曲。通过解析网页,获取歌曲的真实下载链接,并将音乐文件保存到本地。我们将使用 requests 和 BeautifulSoup 库来实现这个过程。 目标 本脚本的主要功能是…

裴蜀定理和扩展欧几里得定理

文章目录 裴蜀定理什么是裴蜀定理裴蜀定理证明如下例题思路代码 扩展欧几里得什么是扩展欧几里得定理扩展欧几里得证明如下模板例题思路代码 裴蜀定理 什么是裴蜀定理 若a&#xff0c;b为整数&#xff0c;且gcd&#xff08;a&#xff0c;b&#xff09;d&#xff0c;那么对于任…

sql-DQL(持续更新中...)

完整执行顺序总结 FROM&#xff1a;选择数据源并应用连接。WHERE&#xff1a;过滤记录。GROUP BY&#xff1a;分组数据。HAVING&#xff1a;过滤分组结果。SELECT&#xff1a;提取所需列并计算表达式。ORDER BY&#xff1a;对结果排序。LIMIT / OFFSET&#xff1a;限制返回记录…

第二章 并行为什么有时会慢?

第2章 2.1 速度的障碍 我们把计算实体称为进程&#xff0c;比如snow包中的worker。 并行计算中主要有两个性能相关的问题&#xff1a; 通信开销 负载平衡 2.2 性能和硬件结构 多处理器系统 就像它的名字所说一样&#xff0c;有两个或多个处理器&#xff0c; 例如&#xff…