一次编辑00

题目链接

一次编辑

题目描述

注意点

  • 只能进行一次(或者零次)编辑

解答思路

  • 首先判断两个字符串的长度,如果长度相差大于1,说明一次编辑无法通过一次编辑变换而来
  • 通过两个指针idx1和idx2指向first和second,初始idx1和idx2指向的都是同一个位置,当某个位置处的字符不同,需要根据first和second长度关系修改idx1和idx2:如果长度相同,说明只能进行编辑操作,idx1和idx2都要向前一步;如果first比second长度小1,说明只能进行新增操作,idx2向前一步;如果second比first长度小1,说明只能进行删除操作,idx1向前一步

代码

class Solution {
    public boolean oneEditAway(String first, String second) {
        int m = first.length();
        int n = second.length();
        if (Math.abs(m - n) > 1) {
            return false;
        }
        for (int i = 0; i < m && i < n; i++) {
            // 长度不同,根据first和second之间的长度关系修改指针指向的位置
            if (first.charAt(i) != second.charAt(i)) {
                int firstIdx = (m >= n ? 1 : 0);
                int secondIdx = (m <= n ? 1 : 0);
                return judgeRemain(first, second, i + firstIdx, i + secondIdx);
            }
        }
        return true;
    }

    public boolean judgeRemain(String first, String second, int idx1, int idx2) {
        while (idx1 < first.length() && idx2 < second.length()) {
            if (first.charAt(idx1) != second.charAt(idx2)) {
                return false;
            }
            idx1++;
            idx2++;
        }
        return true;
    }
}

关键点

  • 注意边界问题
  • 只能进行一次编辑
  • 什么时候做新增、删除、替换操作

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

DOM学习

DOM学习 DOM全称是Document Object Model 文档对象模型&#xff0c;就是把文档中的标签&#xff0c;属性&#xff0c;文本&#xff0c;转换为对象来管理 大纲 HTML DOM(文档对象模型)document对象HTML DOM结点 具体案例 HTML DOM(文档对象模型) document对象 使用innerT…

《python本机环境多版本切换》-两种方式以及具体使用--venv/pyenv+pycharm测试

阿丹&#xff1a; source myenv/bin/activate 在开发使用rasa的时候发现自己安装的python环境是3.12的&#xff0c;和rasa不兼容&#xff0c;所以实践一下更换多python环境。 使用虚拟环境 在Python中使用虚拟环境来切换Python版本是一个常见的做法&#xff0c;这可以帮助你…

深入解析R语言的贝叶斯网络模型:构建、优化与预测;INLA下的贝叶斯回归;现代贝叶斯统计学方法;R语言混合效应(多水平/层次/嵌套)

目录 ①基于R语言的贝叶斯网络模型的实践应用 ②R语言贝叶斯方法在生态环境领域中的应用 ③基于R语言贝叶斯进阶:INLA下的贝叶斯回归、生存分析、随机游走、广义可加模型、极端数据的贝叶斯分析 ④基于R语言的现代贝叶斯统计学方法&#xff08;贝叶斯参数估计、贝叶斯回归、…

Java中Stack的使用详解

Stack是一种运算受限的线性表&#xff0c;其特点在于仅允许在表的一端&#xff08;即表尾&#xff09;进行插入和删除操作。这一端被称为栈顶&#xff0c;而相对的另一端则称为栈底。向一个栈插入新元素的操作称为进栈或入栈&#xff0c;它将新元素放到栈顶元素的上面&#xff…

全球前五!ATFX 2024年Q1业绩狂飙,6240亿美元交易量彰显实力

5月&#xff0c;密集发布的报告显示&#xff0c;强者恒强是差价合约行业不变的竞争逻辑。而ATFX最新展现的业绩无疑是这一逻辑的有力例证。依照惯例&#xff0c;知名行业媒体Finance Magnates日前公布了全球经纪商最为关注的2024年第一季度行业报告。报告数据显示&#xff0c;A…

对未知程序所创建的带有折叠书签的 PDF 文件书签层级全展开导致丢失的一种解决方法

对需要经常查阅、或连续长时间阅读的带有折叠书签的 PDF 文档展开书签层级&#xff0c;提高阅览导航快捷是非常有必要的。 下面是两种常用书签层级全展开的方法 1、 FreePic2Pdf 1 - 2 - 3 - 4 - 5 - 6&#xff0c;先提取后回挂 2、PdgCntEditor 载入后&#xff0c;直接保存…

【必备工具】gitee上传-保姆级教程

目录 1.gitee是什么 2.gitee怎么注册 ​编辑 3.gitee怎么提交代码 4.gitee的三板斧 Clone仓库 Q&A 1. Gitee 只有三板斧吗&#xff1f; 2. Git 教了&#xff0c;Gitee 上没有绿点怎么办&#xff1f; 3. 用户名和密码输入错误怎么办&#xff1f; 4. 操作时不小心…

智慧校园建设规划方案

在信息化浪潮的推动下&#xff0c;智慧校园的建设已成为教育现代化的必然趋势。以创新科技赋能教育&#xff0c;打造智慧校园&#xff0c;旨在提升教学品质&#xff0c;优化管理流程&#xff0c;增强学生体验。构建智慧校园需要具有前瞻性的规划方案&#xff0c;它将以教育为核…

多波段光源 通过8种波长实现的成像解决方案

光源在机器视觉中的重要性不容小觑&#xff0c;它直接影响到图像的质量&#xff0c;进而影响整个系统的性能。光源的作用包括提供足够的照明&#xff0c;并确保被摄物体的特征能够被准确地捕捉到图像中&#xff0c;使被检测物体产生清晰的图像&#xff0c;提高图像的对比度和亮…

mars3d实现geojson文件xxx.json格式等实现贴地效果

说明&#xff1a; 1.mars3d.js我们的这个sdk内部参数clampToGround是异步计算贴地效果的&#xff0c;最好的贴地方式是&#xff0c;给json数据准确的带高度的经纬度值。 补充前置知识说明&#xff0c;本身的geojson数据格式每个字段代表的意思需要掌握&#xff0c; GeoJSON …

MIT提出基于Transformer的Cross-Layer Attention:江湖骗子还是奇思妙想

大模型技术论文不断&#xff0c;每个月总会新增上千篇。本专栏精选论文重点解读&#xff0c;主题还是围绕着行业实践和工程量产。若在某个环节出现卡点&#xff0c;可以回到大模型必备腔调重新阅读。而最新科技&#xff08;Mamba,xLSTM,KAN&#xff09;则提供了大模型领域最新技…

漫谈企业信息化安全 - 零信任架构

一、引言 《万物简史》的作者比尔布来森说&#xff0c;当他小的时候学科学的时候&#xff0c;好像这些科学家们都是有一种本领&#xff0c;把科学总是以一种让人看不懂的方式说得神乎其神&#xff0c;好像有藏着什么不可告人的秘密。因此&#xff0c;想要写一本让大家都能看得…

Apache CXF Aegis databinding SSRF 高危漏洞修复

一、漏洞修复 Apache CXF Aegis databinding SSRF漏洞 Spring Web UriComponentsBuilder URL解析不当漏洞 二、修复步骤 1、Apache CXF Aegis databinding SSRF漏洞修复 步骤&#xff1a; 进入服务器搜索 databinding find -name *databinding* 发现版本是3.1.6 果断…

Android关于service call 直接调用方法分析

1 背景 希望通过命令的方式控制蓝牙打开与关闭&#xff0c;通过网上搜索我们都能搜到 //打开蓝牙 adb shell service call bluetooth_manager 6 //关闭蓝牙 adb shell service call bluetooth_manager 8其中运用到的就是service call&#xff0c;其机制是通过 Android 的 Bin…

vue3 3D炫酷模型banner图

项目场景&#xff1a; 在官网首页展示3D炫酷动画模型&#xff0c;让整个模型都展示出来。 问题描述 主要是3D动画的展示效果&#xff0c;有些3d模型网站可以从51建模网站中获取。 案例代码&#xff1a; <script setup> import * as imgs from ../units/img import { o…

融资融券保证金比例,融资融券最低利率4.0%

融资融券保证金比例是指投资者交付的保证金与融资、融券交易金额的比例&#xff0c;用于控制投资者初始资金的放大倍数。这个比例分为融资保证金比例和融券保证金比例。 融资融券保证金比例的计算 1. 融资保证金比例是指投资者融资买入证券时交付的保证金与融资交易金额的比例…

穿越时空的工厂之旅:探索可视化三维场景的奥秘

在科技日新月异的今天&#xff0c;我们似乎总是在不断追求着更加高效、智能的生产方式。 传统的工厂管理方式往往依赖于平面图纸、纸质文档和现场巡查&#xff0c;这不仅效率低下&#xff0c;而且容易出错。而三维可视化技术通过3D建模和虚拟现实技术&#xff0c;将工厂内部的各…

苗情灾情监控系统—提高农业生产效率

TH-MQ2苗情灾情监控系统是一种用于监测农作物生长状况和灾情的设备&#xff0c;通过实时监测和数据分析&#xff0c;帮助农民及时了解作物生长情况&#xff0c;采取相应的管理措施&#xff0c;提高农业生产效率和降低生产成本。 该系统通常由多种传感器、摄像头、数据传输模块等…

【项目问题解决】 java.lang.IllegalArgumentException: XML fragments parsed

java.lang.IllegalArgumentException: XML fragments parsed from previous mappers does not contain value for com.xxx.xxx.xxx.xxx.dao.SingleApasInfoDao.selectListCondition 目录 【项目问题解决】 java.lang.IllegalArgumentException: XML fragments parsed from pr…

【机器学习】Python中的决策树算法探索

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 Python中的决策树算法探索引言1. 决策树基础理论1.1 算法概述1.2 构建过程 2. P…