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 仅由小写英文字母组成。

解题思路

    1. 使用 for 循环遍历字符串中的每个字符,循环变量 i 从 0 开始,逐渐增加直到字符串的倒数第二个字符为止。
    1. 在循环中,使用 includes 方法检查当前字符 s[i] 与下一个字符 s[i + 1] 组成的子串是否在原始字符串 s 中出现过。
    1. 如果子串存在于原始字符串中,则返回 true,表示找到了重复的相邻子串。
    1. 如果循环结束后仍未找到重复的相邻子串,则返回 false

这段代码的时间复杂度为 O(n^2),其中 n 是字符串的长度。因为在每次循环中,都要使用 includes 方法去检查子串是否存在于原始字符串中,而 includes 方法的时间复杂度是 O(n)。因此,总体上是 O(n^2)。

AC代码

/*** @param {string} s* @return {boolean}*/
var isSubstringPresent = function (s) {for (let i = 0; i < s.length - 1; i++) {if (s.includes(s[i + 1] + s[i])) return true;}return false;
};

公众号

关注公众号『前端也能这么有趣』,获取更多有趣内容。

说在后面

🎉 这里是 JYeontu,现在是一名前端工程师,有空会刷刷算法题,平时喜欢打羽毛球 🏸 ,平时也喜欢写些东西,既为自己记录 📋,也希望可以对大家有那么一丢丢的帮助,写的不好望多多谅解 🙇,写错的地方望指出,定会认真改进 😊,偶尔也会在自己的公众号『前端也能这么有趣』发一些比较有趣的文章,有兴趣的也可以关注下。在此谢谢大家的支持,我们下文再见 🙌。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/791972.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springboot Guacamole

SpringBoot集成 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/PO…

something

表示媒体&#xff1a; 为了加工、处理和传输感觉媒体而人为研究、构造出来的一种媒体。有各种编码方式&#xff0c;文本编码、图像编码、声音编码 表现媒体&#xff1a; 进行信息输入和输出的媒体。键盘、鼠标、扫描仪、扬声器、打印机。 感觉媒体&#xff1a; 直接作用于人的感…

您的计算机已被faust勒索病毒感染?恢复您的数据的方法在这里!

导言&#xff1a; 随着信息技术的快速发展&#xff0c;网络安全问题日益凸显&#xff0c;其中勒索病毒更是成为了一个不容忽视的威胁。近期&#xff0c;一种名为.faust的新型勒索病毒引起了广泛关注。该病毒以其独特的传播方式和恶劣的加密手段&#xff0c;给广大用户带来了极…

ChatGPT 之百万富翁

原文&#xff1a;The ChatGPT Millionaire 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 介绍 当我写下这些文字时&#xff0c;ChatGPT 已经成为有史以来增长最快的技术平台 - 仅用 5 天就达到了一百万用户。相比之下&#xff0c;Netflix 用了 3 年&#xff0c;Twit…

云计算与容器化

云计算和容器化是目前Java开发中的热门话题&#xff0c;它们提供了更高效、灵活和可扩展的方式来构建和部署应用程序。 云计算是指通过互联网提供计算资源和服务&#xff0c;包括计算能力、存储、数据库、网络等。在云计算平台上进行Java应用开发有很多好处。首先&#xff0c;…

【python】python新闻内容zhua取分析词云可视化(源码)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

echarts实现炫酷科技感的流光效果

前言&#xff1a; echarts实现炫酷科技感的流光效果 效果图&#xff1a; 实现步骤&#xff1a; 1、引入echarts,直接安装或者cdn引入 npm i echarts https://cdn.jsdelivr.net/npm/echarts5.4.3/dist/echarts.min.js 2、封装 option方法&#xff0c;第一个数据是折线数据&a…

C# 有一条垂直线,怎么判断一点坐标点是在左侧还是右侧,以及该坐标与垂直线的交点?

在C#中&#xff0c;要判断一个点相对于垂直线的位置&#xff08;左侧还是右侧&#xff09;&#xff0c;以及计算该点与垂直线的交点&#xff0c;你需要先定义垂直线的位置和属性。垂直线通常可以用它的一个点&#xff08;比如线段的起点或终点&#xff09;和它的方向&#xff0…

【经典算法】LeetCode350:两个数组的交集 II(Java/C/Python3/JavaScript实现含注释说明,Easy)

#算法 标签&#xff1a;哈希表、数组 目录 题目思路及实现方式一&#xff1a;哈希表思路代码实现Java版本C语言版本Python3版本JavaScript版本 复杂度分析 方式二&#xff1a;排序 双指针思路代码实现Java版本C语言版本Python3版本JavaScript版本 复杂度分析 总结相似题目 题…

在线生成占位图片工具:简便快捷的设计利器

title: 在线生成占位图片工具&#xff1a;简便快捷的设计利器 date: 2024/4/4 17:36:41 updated: 2024/4/4 17:36:41 tags: 占位图片网页设计开发工具图片生成页面布局效率提升预览调整 在网页开发或设计过程中&#xff0c;经常会遇到需要临时使用占位图片的情况。占位图片是指…

C# 委托与事件 浅尝

委托事件此外最后 委托与事件可以用异世界冒险来类比 using System;namespace LHJ {class Publisher {//编写事件&#xff0c;发布委托public delegate int PublisherDelegate(int i);//委托public event PublisherDelegate WhenClick;//委托针对的事件public int happened() {…

Linux------一篇博客了解Linux最常用的指令

&#x1f388;个人主页&#xff1a;靓仔很忙i &#x1f4bb;B 站主页&#xff1a;&#x1f449;B站&#x1f448; &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;Linux &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#…

MySQL CASE 语句

CASE声明 CASE case_valueWHEN when_value THEN statement_list[WHEN when_value THEN statement_list] ...[ELSE statement_list] END CASE 或者 CASEWHEN search_condition THEN statement_list[WHEN search_condition THEN statement_list] ...[ELSE statement_list] END…

语音芯片 SOP8、SOP16、SOP24脚在性能上有哪些不同呢?

随着语音识别技术的不断发展&#xff0c;人们对语音芯片的需求也越来越高。 其中&#xff0c;SOP8、SOP16和SOP24脚语音芯片是目前市面上应用比较广泛的芯片类型。这些芯片在性能上有什么区别&#xff1f;下面我们来具体分析一下。 首先&#xff0c;SOP8、SOP16、SOP24脚语音芯…

SpringBoot根据配置类动态加载不同环境下的自定义配置

dev环境配置 Profile({"dev","test"}) PropertySource("classpath:dev.properties") public class DevConfigLoader { }Profile("prod") PropertySource("classpath:prod.properties") public class ProdConfigLoader { }P…

IP-guard WebServer 任意文件读取漏洞复现

0x01 产品简介 IP-guard是由溢信科技股份有限公司开发的一款终端安全管理软件,旨在帮助企业保护终端设备安全、数据安全、管理网络使用和简化IT系统管理。 0x02 漏洞概述 由于IP-guard WebServer /ipg/static/appr/lib/flexpaper/php/view.php接口处未对用户输入的数据进行严…

java Web 健身管理系统idea开发mysql数据库LayUI框架java编程计算机网页源码maven项目

一、源码特点 java Web健身管理系统是一套完善的信息管理系统&#xff0c;结合java 开发技术和bootstrap完成本系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。 前段主要技术 layUI bootst…

显示器and拓展坞PD底层协商

简介&#xff1a; PD显示器或者PD拓展坞方案中&#xff0c;连接显示设备的Type-C端口主要运行在DRP模式&#xff0c;在此模式下可以兼容Source&#xff08;显卡&#xff09;、Sink&#xff08;信号器&#xff09;、DRP&#xff08;手机、电脑&#xff09;模式的显示设备。 Sou…

在Linux系统上搭建Android、Linux和Chrome性能监控和Trace分析的系统

perfetto是知名的Android系统性能分析平台。我们还可以用它去分析Linux系统和Chrome&#xff08;需要装扩展&#xff09;。本文我们只介绍如何安装的验证。 部署 我们使用Docker部署perfetto ui系统。 FROM ubuntu:20.04 WORKDIR /perfetto-ui RUN apt-get update -y RUN ap…

C++初学者:优雅创建第一个窗口

我想学习C做一些实用的程序&#xff0c;但是我不想在软件界面上花太多的时间&#xff0c;可是每每就是界面影响我的思绪。 今天学习C类的包装知识&#xff0c;终于整出了一个我的界面类&#xff0c;虽然封装水平很弱&#xff0c; 这次就用这个类&#xff0c;写了自己工作上常用…