算法:回文字符串

2023-11-17

要求:给定一个字符串数组,判断出所有的回文字符串

 

class Solution {
    public List<List<Integer>> palindromePairs(String[] words) {
        // 出参
        List<List<Integer>> result = new ArrayList();
        // 入参判断 空数组?
        // 1.字段两两对拼
        for (int i = 0; i < words.length; i++) {
            for (int j = 0; j < words.length; j++) {
                if (i == j) {
                    continue;
                }
                String temp = words[i] + words[j];
                // 2.判断当前串是否为回文字符串
                if (isCopyStr(temp)) {
                    // 3.统计回文串并输出
                    List<Integer> indexList = new ArrayList();
                    indexList.add(i);
                    indexList.add(j);
                    result.add(indexList);
                }
            }
        }
    
        return result;
    }

    /**
    * 回文串判断
    */
    public boolean isCopyStr(String temp) {
        // 入参判断 空串?
        // 两种方式? 先采用最简单的,字符依次比较?
        int length = temp.length();
        if (length == 1) {
            return true;
        }
        int index = length - 1;
        char[] chars = temp.toCharArray();
        // 从头往尾开始匹配
        for (int i = 0; i < length; i++) {
            if (i > (index - i)) {
                break;
            }
            char left = chars[i];
            char rigth = chars[index - i];
            if (left != rigth) {
                return false;
            }
        }
        return true;
    }
}

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

算法:回文字符串 的相关文章

  • System.IO.IOException: Sharing violation on pat

    System IO IOException Sharing violation on path E wang downloadmanage Assets download IEM2 apk at System IO FileStream c
  • 浅谈机器学习-回归与分类的区别

    前言 机器学习的主要任务便是聚焦于两个问题 分类和回归 本文将浅谈下两者的区别 区别 回归会给出一个具体的结果 例如房价的数据 根据位置 周边 配套等等这些维度 给出一个房价的预测 分类相信大家都不会陌生 生活中会见到很多的应用 比如垃圾邮
  • Spring Boot 2 全局异常处理

    1 创建 MyRestControllerAdvice 类 并添加 RestControllerAdvice import com tm common dto Rjson import com tm common exception Bus
  • Landsat9卫星简介

    1 landsat 9 先来介绍下2021年9月27日发射的landsat 9 目前已经采集了第一批影像 10月31日 1 携带的传感器 二代陆地成像仪Operational Land Imager 2 OLI 2 二代热红外传感器 TIR
  • C++11中thread_local的使用

    C 11中的thread local是C 存储期的一种 属于线程存储期 存储期定义C 程序中变量 函数的范围 可见性 和生命周期 C 程序中可用的存储期包括auto register static extern mutable和thread
  • 区块链的跨链技术介绍完整版

    如果说共识机制是区块链的灵魂核心 那么对于区块链特别是联盟链及私链来看 跨链技术就是实现价值网络的关键 它是把联盟链从分散单独的孤岛中拯救出来的良药 是区块链向外拓展和连接的桥梁 自比特币七年前诞生以来 数以百计的竞争币被开发出来 有着各种
  • 深入了解Aviator表达式引擎:高性能的轻量级计算引擎

    在软件开发过程中 我们经常需要对数学和逻辑表达式进行求值和计算 传统的方式可能会导致性能瓶颈和复杂的代码逻辑 在这篇博客中 我们将介绍Aviator表达式引擎 一个轻量级且高性能的计算引擎 用于解析和执行数学和逻辑表达式 什么是Aviato
  • 递归算法深入浅出三:递归求Fibonacci斐波那契数列

    递归算法概述及常见算法列表 传送门 http blog csdn net nthack5730 article details 65537530 斐波那契数列 斐波纳契数列 又称黄金分割数列 指的是这样一个数列 1 1 2 3 5 8 13
  • 如何获取Hive库表字段分区信息

    如何获取Hive库表字段分区信息 使用Hive关联的Mysql读取Hive的库表字段分区信息 也可以使用Hive的sys数据库查询相关的信息 但是会比较慢 所以直接使用Mysql去读 Hive在Mysql保存的信息如下图所示 获取Hive的
  • C语言-函数栈帧(每次调用函数,开辟函数的大概流程)

    思路 emm 有点懵 这一块 只知道个大概 如果后期我深挖的话 我再回头来补充 上图 括号的位置 便是每次创建 调用函数的时候 所产生的函数栈帧 也可以理解为每次调用函数 在电脑里开辟的一块空间 这空间实际就是一个栈 ebp栈底指针 esp
  • Ubuntu14.04 安装搜狗输入法

    Ubuntu14 04 安装搜狗输入法 一 安装fcitx 1 点击System Settings 2 选择Software Updates 3 点击Other Software 4 添加软件源 ppa fcitx team nightly
  • wpf 读取网络图片

    wpf读取网络图片 private void ViewImage string fileUri BitmapImage bitImage new BitmapImage bitImage BeginInit bitImage UriSour
  • 域名解析的过程

    互联网的域名解析不是靠一个DNS服务器完成的 而是分到多个DNS服务器上的 那么怎么分 net com edu 根 分别对应自己的服务器 根这个服务器虽然不负责具体的层级域名的解析 但是他知道 net com edu等是由哪些服务器解析的
  • 使用Visual Studio Team Explorer管理项目源代码

    最近参与了WPMind站长张欣发起的一个WP7开源项目 其中用到了Visual Studio Team Explorer进行源代码管理 以下是使用Visual Studio Team Explorer管理Codeplex上源代码的一些说明
  • 使用nginx部署项目

    开发工具 VScode 项目上线 部署项目 1 确保自己的代码是最新的 1 提交代码 git add git commit m 备注 git push git merge 分支名 git pull 2 确认是最新代码 2 VScode 1
  • python中遇见module ‘random‘ has no attribute ‘seed‘原因

    是因为我设置 py文件名为random与这个模块好像冲突 具体啥原因我也解释不清楚 修改文件名就可以了 import random random seed 10 print random random print random random
  • React生命周期

    React生命周期 4个阶段 1 挂载卸载过程 初始化 2 更新过程 3 销毁阶段 4 错误处理阶段 挂载卸载过程 构建并插入真实DOM 1 1 constructor 1 2 componentWillMount 1 3 render 1
  • 悟道·天鹰 Aquila + 天秤 FlagEval,打造大模型能力与评测标准双标杆

    为推动大模型在产业落地和技术创新 智源研究院发布 开源商用许可语言大模型系列 开放评测平台 2 大重磅成果 打造 大模型进化流水线 持续迭代 持续开源开放 01 悟道 天鹰 Aquila 开源商用许可语言大模型系列 悟道 天鹰 Aquila
  • 如祺出行冲刺自动驾驶商业化,人少的地方机会多?

    网约车 正在迎来让人 不明觉厉 的新一轮竞赛 网约车监管信息交互系统的数据显示 截至今年6月30日 全国共有318家网约车平台公司取得网约车平台经营许可 环比增加5家 网约车监管信息交互系统6月份共收到订单信息7 63亿单 环比上升3 7
  • 华为三层交换机 配置

    1 拓扑图 2 汇聚层交换机设置

随机推荐

  • 第十四篇 Inception V3——论文翻译

    文章目录 摘要 1 引言 2 通用设计原则 3 基于大滤波器尺寸分解卷积 3 1 分解到更小的卷积 3 2 空间分解为不对称卷积 4 利用辅助分类器 5 有效的网格尺寸减少 6 Inception v2 7 通过标签平滑进行模型正则化 8
  • 【PAT乙级】旧键盘打字

    题目描述 旧键盘上坏了几个键 于是在敲一段文字的时候 对应的字符就不会出现 现在给出应该输入的一段文字 以及坏掉的那些键 打出的结果文字会是怎样 输入格式 输入在 2 行中分别给出坏掉的那些键 以及应该输入的文字 其中对应英文字母的坏键以大
  • C# System.UnauthorizedAccessException:“对路径“C:\xxx”的访问被拒绝。

    C 程序运行时提示 对路径 C xxx 的访问被拒绝 System UnauthorizedAccessException 对路径 C Excel2007 xlsx 的访问被拒绝 解决办法是 启动visual studio时选择右键 gt
  • System.in.read()问题

    来源 http zhidao baidu com question 74164319 Q System in read 中in是一个字段即静态常量 JAVA帮助文档中 public static final InputStream in 那
  • MAC地址介绍及相关操作

    一 MAC地址介绍 MAC地址简介 MAC Mediun access cntrol 地址 用来表示互联网每一个站点的标识符 采用十六进制数表示 共六个字节 其中 前三个字节是由IEEE的注册管理机构RA负责给不同厂家分配的代码 也称为 编
  • ArcGIS 10.8打开后显示loading document后闪退

    安装ArcGis完成后 打开ArcMap 卡在Loading Document后 闪退的问题 为何为肖的博客 CSDN博客 arcmap加载文档后闪退b同事新装ArcGis10 5后出现这个情况 联想以前编译Qgis时python环境变量的
  • 由一个例子,介绍linux目录的多用户及其读写可执行权限

    例子 查看文件的读写权限以及所属用户 查看目录的读写权限以及所属用户 目录读写权限默认为755即rwxr xr x 文件读写权限默认为744即rwxrr 目录和子目录的读写权限特点 例子 ls ld home1 drwxrwxrwx 39
  • 模板小程序是什么?怎么选择?

    模板小程序是指第三方服务商基于某个模板开发的小程序 这个模板可以根据开发者的需求进行定制 包括页面设计 功能模块 数据管理等方面 开发者可以在模板基础上进行自主开发 实现自己的需求和功能 模板小程序的优点是开发周期短 价格相对较低 一般是直
  • 白夜追凶 :手 Q 图片的显示和发送逻辑

    欢迎大家前往腾讯云社区 获取更多腾讯海量技术实践干货哦 作者 陈舜尧 导语 这张图片在快捷发图栏背景是黑色的 为啥发到AIO 会话窗口 里背景就变成白的了 通过一个bug单 对黑白背景问题跟进的过程中发现了手q中很多奇怪的表现 一层层看代码
  • SpringBoot支付宝接入实战

    文章目录 支付宝支付后端实战 基于SpringBoot 一 支付宝支付介绍及接入指引 1 支付宝开放能力介绍 1 能力地图 2 电脑网站支付产品 2 接入准备 1 开放平台帐号注册 2 常规接入流程 3 使用沙箱 二 项目的环境准备 1 框
  • js小案例

    一次性定时器 div class dn div
  • C++,命名空间

    命名空间定义 namespace 命名空间名 变量名 函数 结构体 枚举名 全局引入命名空间 using namespace 命名空间名 部分引入命名空间 using namespace 命名空间名 变量名 注意 表示域限定符 在哪个位置使
  • 【实战加详解】二进制部署k8s高可用集群教程系列二 - ssl 证书简介

    TIP 二进制部署 k8s ssl 证书 转载请注明出处 https janrs com 1 ssl 证书简介 NOTE 在这里只做应用的简介 原理不做介绍 自行谷歌查阅 涉及到安全的 也不整理文档了 自行研究 1 1 什么是 ssl 证书
  • Java实现:寻找水仙花数

    Java实现 寻找水仙花数 文章目录 Java实现 寻找水仙花数 1 问题 2 解决方案 3 实现代码 4 执行结果 5 解决方法说明 穷举法 1 问题 寻找水仙花数 如果一个3位数等于其各位数字的立方和 则称这个数为水仙花数 例如 407
  • 奇异值分解方法求解最小二乘问题的原理

    文章目录 一 奇异值分解 SVD 原理 1 1 回顾特征值和特征向量 1 2 SVD的定义 1 3 求出SVD分解后的U V矩阵 1 4 SVD计算举例 1 5 SVD的一些性质 二 线性最小二乘问题 2 1 最小二乘问题复习 2 2 奇异
  • 最小二乘法拟合圆(Python)

    上文已经对比了三种数据点拟合圆的方法 本文分享最小二乘法的拟合过程 旨在了解如何用Python编程拟合圆 usr bin env python coding utf 8 This program is debugged by Harden
  • Markdown插入视频、mp3音频和gif图的语法

    总所周知 鄙人有一个专栏叫做 差生文具多 里面记录了一些工具的使用方法 以及使用工具时会遇到的一些问题 于是乎 之前就有一个朋友在群里问道 markdown如何插入视频 当时的我不会弄 然后就出现了下面这一幕 明天就弄 开整 然而这篇博客是
  • ARM64_VS2017 动态库 静态库编译 主程序调用环境搭建

    ARM64 VS2017 动态库 静态库编译 主程序调用环境搭建 1 打开Visual Studio Installer安装linux开发环境 2 配置linux环境 工具 gt 选项 gt 跨平台 gt 连接管理器 gt 添加 远程lin
  • mkdir()和mkdirs()区别

    mkdir 和mkdirs 区别如下 mkdirs 可以建立多级文件夹 mkdir 只会建立一级的文件夹 如下 new File tmp one two three mkdirs 执行后 会建立tmp one two three四级目录 n
  • 算法:回文字符串

    要求 给定一个字符串数组 判断出所有的回文字符串 class Solution public List