leetcode 859. Buddy Strings(同伴字符串)

LeetCode --- 859. Buddy Strings 解题报告 Given two stringsAandBof lowercase letters, returntrueif you can swap two letters inAso the result is equal toB, otherwise, returnfalse. Swapping letters is defined as taking two indicesiandj(0-indexed) such thati != jand swapping the char... 阅读详情

在这里插入图片描述

给出字符串s 和 goal, 判断交换 s 中的一对字母是否能得到goal.
必须是不同位置字母的交换。

思路:

先考虑边界情况,
s 和 goal 的长度不相等时,s 怎么交换都不会得到goal.
s 的长度 < 2时,没有可交换对象,肯定是false.
s和goal相同时,看Example2和Example3两种情况:
有重复字母时为true, 否则为false.

然后是一般情况,
s能通过交换一对字母得到goal,
首先它们的每个字母个数必须是相同的,
而且 s 和 goal 只有2个位置的字母不一样,
统计字母不一样的位置个数,恰好为2时返回true.

    public boolean buddyStrings(String s, String goal) {
        char[] cs = s.toCharArray();
        char[] cg = goal.toCharArray();
        int sn = cs.length;
        int gn = cg.length;
        
        //长度不相等和长度<2的情况
        if(sn != gn || sn < 2) return false;
		//example2和3的情况
        if(s.equals(goal)) {
            int[] cnt = new int[26];
            for(int i = 0; i < sn; i++) {
                if(cnt[cs[i]-'a'] == 1) return true;
                cnt[cs[i]-'a'] = 1;
            }
            return false;  
        }
		//字母个数是否相同
		//统计字母不同的位置个数,恰好为2时返回true.
        int diff = 0;
        int[] cnts = new int[26];
        int[] cntg = new int[26];

        for(int i = 0; i < sn; i++) {
            cnts[cs[i] - 'a'] ++;
            cntg[cg[i] - 'a'] ++;
            if(cs[i] != cg[i]) diff++;
        } 

        for(int i = 0; i < 26; i++) {
            if(cnts[i] != cntg[i]) return false;
        }

        return diff == 2;
    }
逆变器技术解析:DDSRF双解耦在正负序分离中的关键作用 本文深入解析了DDSRF双解耦技术在逆变器正负序分离中的关键作用。通过建立正反旋转坐标系并利用交叉反馈解耦网络,DDSRF能快速、精准地分离电网电压中的正负序分量,从而显著提升锁相环在电网不平衡条件下的精度与系统稳定性,是现代高性能并网逆变器的核心算法之一。 阅读详情

相关推荐

DeepSeek跨会话协作指南:让AI成为你的「第二大脑」

通过DeepSeek的跨会话协作系统,用户实测工作效率提升63%。

紫夜若涵的博客 1472

LeetCode //C - 859. Buddy Strings

Summary: The problem checks if two strings s and goal can be made equal by swapping exactly two characters in s. If s and goal are identical, the solution requires at least one duplicate character in s to allow a no-op swap. If they differ, there must be e

Made in Code 864

【5G核心网】Packet Forwarding Model 数据包转发模型

CP 通过建立,修改,删除 PFCP 会话上下文,以及通过为每个 PFCP 会话赏析哪问提供 PDR FAR QER URR BAR,来控制 UP 面的数据包处理。 每一个 PDR 都包含 PDI(Packet Detection Information,包探测信息),一个或多个字段,与输入数据包进行匹配,并可能与以下规则相关联,从而提供了适用于与 PDI 匹配的数据包的指令集: - One FAR(包含了处理数据包的相关指令) an Apply Act...

zhonglinzhang 1万+

Leetcode 859 Buddy Strings

Leetcode 859 Buddy Strings题目思路代码 题目 Given two strings A and B of lowercase letters, return true if you can swap two letters in A so the result is equal to B, otherwise, return false. Swapping letters is defined as taking two indices i and j (0-indexed) suc

weixin_43796689的博客 176

四旋翼无人机Matlab建模

本文主要分享一下四旋翼无人机的建模过程,然后在Matlab的simulink模块搭建起四旋翼无人机的模型,下一章将结合这个模型设计双环PID控制器并调节参数。 一、无人机建模过程

qq_36903625的博客 3万+

LM Studio Bionic:本地AI智能体从部署到实战完整指南

AI智能体作为能够自主规划、执行多步任务的人工智能系统,其核心原理在于结合大语言模型的推理能力与工具调用机制。通过状态保持和任务分解算法,智能体实现了从单次问答到持续协作的技术跃迁。在工程实践中,这种架构显著降低了复杂任务自动化的门槛,特别适用于数据敏感场景和定制化需求。以Tesla V100等专业硬件为例,本地部署能充分发挥其大显存优势,支持更高精度的模型量化格式。在实际应用层面,智能体可无缝集成到代码审查、文档生成等开发工作流中,而LM Studio Bionic通过统一界面整合了模型服务、任务规划器等

weixin_29053695的博客 647

859. Buddy Strings*

859. Buddy Strings* https://leetcode.com/problems/buddy-strings/ 题目描述 Given two strings A and B of lowercase letters, return true if and only if we can swap two letters in A so that the result equals ...

珍妮的选择的博客 268

视源CVTE嵌入式面试题及参考答案(200+面试题,17万字)

内核模块如何设置? 内核模块是可在运行时动态加载到内核或从内核卸载的代码块。以下是设置内核模块的步骤: 首先,编写内核模块代码。通常使用 C 语言编写,包含必要的头文件,如<linux/init.h>、<linux/module.h>等。在代码中,需要定义模块的初始化函数和清理函数。初始化函数在模块加载时被调用,用于进行模块的初始化工作,如注册设备、分配资源等。清理函数在模块卸载时被调用,用于释放资源、注销设备等。 例如: #include <li

大模型大数据攻城狮的专栏 2202

leetcode 859. Buddy Strings

这道题没什么技术含量,按照题目要求实现就可以。代码写的比较丑,但是思路还是挺清晰的。 class Solution { public boolean buddyStrings(String A, String B) { int len1 = A.length(); int len2 = B.length(); if(len1!=len2) r...

xiaobailaji的博客 165

为什么reg2cgate的setup难以满足?

从图上我们可以看出,clock gate的clock latency是delay1,reg1的clock latency是delay1+delay2,可以明显的看出,reg2cgate的setup,其launch clock path delay天生是要比capture clock path delay要多delay2的,因此其setup相对于reg2reg是不好满足的。因此,在数字后端脚本、flow上比较擅长,大家如果有相关的问题,可以提供答疑咨询服务。因此,能够让我们去处理的就是delay2的值。

芯冰乐 1930

【100%通过率】华为od机试C卷【小朋友来自多少小区】JS 实现

幼儿园组织活动,老师布置了一个任务:每个小朋友去了解与自己同一个小区的小朋友还有几个.我们将这些数量汇总到数组 garden 中。请根据这些小朋友给出的信息,计算班级小朋友至少来自几个小区?

MISAYAONE的博客 2004

Leetcode 859.亲密字符串(Buddy Strings)

Leetcode 859.亲密字符串 1 题目描述(Leetcode题目链接)   给定两个由小写字母构成的字符串 A 和 B ,只要我们可以通过交换 A 中的两个字母得到与 B 相等的结果,就返回 true ;否则返回 false 。 输入: A = "ab", B = "ba" 输出: true 输入: A = "ab", B = "ab" 输出: false 输入: A = "aaaaaaabc", B = "aaaaaaacb" 输出: true 提示: 0 <= A.length &

qq_39378221的博客 320

SAP Joule for Developers 全景解析:从 ABAP 到 SAP Build 的一体化开发者 AI 能力

SAP Joule for Developers是一套内嵌于SAP开发工具的设计时AI能力,专为提升SAP开发者效率而设计。它支持自然语言生成应用与自动化流程,帮助理解优化代码,并嵌入单元测试和质量保障功能。Joule深度集成ABAP开发环境,同时服务于Java、JavaScript和低代码开发,覆盖CAP数据模型、UI5/Fiori生成、ABAP代码补全与重构等场景。通过斜杠命令和上下文操作,开发者可在不改变现有平台的前提下,显著提升开发效率和质量。典型案例包括快速构建CAP应用和ABAP Cloud迁移

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 494

LeetCode 859. 亲密字符串(Buddy Strings) 23

859. 亲密字符串 859. Buddy Strings 题目描述 给定两个由小写字母构成的字符串 A 和 B,只要我们可以通过交换 A 中的两个字母得到与 B 相等的结果,就返回 true;否则返回 false。 每日一算法2019/5/26Day 23LeetCode859. Buddy Strings 示例 1: 输入: A = "ab", B = "ba" 输出: true 示例 2: ...

weixin_30340353的博客 208

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

LeetCode 859 Buddy Strings

LeetCode 859 Buddy Strings 传送门 题目分析 Given two strings A and B of lowercase letters, return true if and only if we can swap two letters in A so that the result equals B. Example 1: I...

博客 1673

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

[leetcode] 859. Buddy Strings

Description Given two strings A and B of lowercase letters, return true if and only if we can swap two letters in A so that the result equals B. Example 1: Input: A = "ab", B = "ba" Output: true Exam...

Learning from the mistakes 238

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

【LeetCode】859. Buddy Strings 解题报告(Python & C++)

【LeetCode】859. Buddy Strings 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.me/ 题目地址:https://leetcode.com/problems/buddy-strings/desc...

负雪明烛 1760

【Leetcode】859. Buddy Strings

题目地址: https://leetcode.com/problems/buddy-strings/ 给定两个只含英文小写字母的字符串AAA和BBB,判断是否可以通过交换AAA中的两个字符使得其变为BBB。 如果两个字符串长度不同,返回false;如果长度相同但长度小于222,返回false;接下来再判断一下两个字符串的字母构成是否相同(含有相同种类的字母并且出现次数一样),如果不同也返回false;如果还不返回,就遍历两个字符串,看对应同位置上字母不同的位置有多少个,接下来有两种情况,第一种是有222个,

数学、算法爱好者的博客 185

[LeetCode] 859. Buddy Strings 伙计字符串

Given two stringsAandBof lowercase letters, returntrueif and only if wecan swap two letters inAso that the result equalsB. Example 1: Input: A = "ab", B = "ba" Output: true Example 2: Input...

weixin_30284355的博客 195

leetcode 859. Buddy Strings 亲密字符串-耗时100

邹九的个人博客 406

LeetCode - 859 - 亲密字符串(buddy-strings)

一 目录 不折腾的前端,和咸鱼有什么区别目录一 目录二 前言三 解题及测试四 LeetCode Submit五 解题思路六 进一步思考二 前言 难度:简单涉及知识:字符串题目地址:htt...

weixin_41806099的博客 341

LeetCode.859-伙伴字符串(Buddy Strings)

这是悦乐书的第330次更新,第354篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第200题(顺位题号是859)。给定两个字母A和B的小写字母,当且仅当我们可以在A中交换两个字母以使结果等于B时返回true。例如: 输入:A =“ab”,B =“ba” 输出:true 输入:A =“ab”,B =“ab” 输出:false 输入:A =“aa”,B =“aa” ...

小川的博客 196

[LeetCode] 859. Buddy Strings

Given two stringsAandBof lowercase letters, returntrueif and only if wecan swap two letters inAso that the result equalsB. Example 1: Input: A = "ab", B = "ba" Output: true ...

a0712104790的博客 179

leetcode 859 亲密字符串 Buddy Strings python 多种解法,最简代码

所有Leetcode题目不定期汇总在 Github, 欢迎大家批评指正,讨论交流。 ''' Given two strings A and B of lowercase letters, return true if and only if we can swap two letters in A so that the result equals B. Example 1: Inpu...

Jasmine_dream 392

leetcode 859. 亲密字符串(Buddy Strings)

给定两个由小写字母构成的字符串 A 和 B ,只要我们可以通过交换 A 中的两个字母得到与 B 相等的结果,就返回 true ;否则返回 false 。   示例 1: 输入: A = "ab", B = "ba" 输出: true 示例 2: 输入: A = "ab", B = "ab" 输出: false 示例 3: 输入: A = "aa", B = "aa"

一叶之修的博客 313

LeetCode 859 Buddy String--JavaScript solution--faster than 100%

JavaScript in algorithm_@leetCode 859 Buddy String 1.Describle 给两个字符串A,B,判断A交换两个字符之后能不能得到B。 2.Analysis 首先,A与B排序后应该是相同的;其次,最容易想到的方法是便利AB寻找A,B不同的项,然后判断数量即对应的项交换之后是否相同。   坑位:   1.A可以交换两个相同的字符串(即A可以保持不变) ...

Mix2411238068的博客 317
上一篇: leetcode 2462. Total Cost to Hire K Workers(雇用 K 名员工的总成本)
下一篇: yolov8源码解读(part2: 检测,分割)
蓝羽飞鸟
博客等级 码龄8年 1万+粉丝 727原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝羽飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值