当前位置: 首页 > news >正文

LeetCode刷题---字符串---859

亲密字符串

859. 亲密字符串 - 力扣(LeetCode)

题目:

给你两个字符串 s 和 goal ,只要我们可以通过交换 s 中的两个字母得到与 goal 相等的结果,就返回 true ;否则返回 false 。

交换字母的定义是:取两个下标 i 和 j (下标从 0 开始)且满足 i != j ,接着交换 s[i] 和 s[j] 处的字符。

  • 例如,在 "abcd" 中交换下标 0 和下标 2 的元素可以生成 "cbad" 。

示例 1:

输入:s = "ab", goal = "ba"
输出:true
解释:你可以交换 s[0] = 'a' 和 s[1] = 'b' 生成 "ba",此时 s 和 goal 相等。

示例 2:

输入:s = "ab", goal = "ab"
输出:false
解释:你只能交换 s[0] = 'a' 和 s[1] = 'b' 生成 "ba",此时 s 和 goal 不相等。

示例 3:

输入:s = "aa", goal = "aa"
输出:true
解释:你可以交换 s[0] = 'a' 和 s[1] = 'a' 生成 "aa",此时 s 和 goal 相等。

提示:

  • 1 <= s.length, goal.length <= 2 * 104
  • s 和 goal 由小写英文字母组成
自己的思路和代码:
思路:

        可以分成两种情况:

        第一种情况,是s与goal相等,当数组的长度等于1时,直接返回false。当数组的长度大于1时,查看s数组中有没有重复的元素,如果有返回true,没有返回false。

        第二种情况,是s与goal不相等,同理,当数组的长度等于1时,直接返回false。当数组的长度大于1时,查看s数组和goal数组中是否正好有两个元素是不相等的,并且这两个元素是交叉相等的,返回true,否则返回false。

代码:
class Solution {
public:bool buddyStrings(string s, string goal) {if(s.size()!=goal.size()) return false;if(s == goal) {if(s.size()==1) {return false;} else {int temp[26] = {0};for(int i=0; i<s.size(); i++) {temp[s[i] - 'a']++;}for(int i=0; i<26; i++) {if(temp[i]>1) return true; }return false;}} else {if(s.size()==1) return false;int temp = 0;char s_temp[2], g_temp[2];for(int i=0; i<s.size(); i++) {if(s[i] != goal[i]) {if(temp<2) {s_temp[temp] = s[i];g_temp[temp] = goal[i];temp++; } else {return false;}}}if(temp==1) return false;if(s_temp[0]==g_temp[1] && s_temp[1]==g_temp[0]) {return true;} else {return false;}}   //return true;}
};

相关文章:

LeetCode刷题---字符串---859

亲密字符串 859. 亲密字符串 - 力扣&#xff08;LeetCode&#xff09; 题目&#xff1a; 给你两个字符串 s 和 goal &#xff0c;只要我们可以通过交换 s 中的两个字母得到与 goal 相等的结果&#xff0c;就返回 true &#xff1b;否则返回 false 。 交换字母的定义是&…...

数据处理中多线程功能的设计逻辑,及python的多线程实现

数据处理中多线程功能的设计逻辑主要是通过并发编程模型来提高程序的执行效率和响应速度。多线程允许在同一进程中创建多个线程&#xff0c;每个线程独立执行任务&#xff0c;同时共享进程的资源&#xff08;如内存空间&#xff09;。这种机制特别适用于I/O密集型任务&#xff…...

DeepSeek-R1技术革命:用强化学习重塑大语言模型的推理能力

引言&#xff1a;低成本高性能的AI新范式 在2025年1月&#xff0c;中国AI公司DeepSeek发布了两个标志性模型——DeepSeek-R1-Zero与DeepSeek-R1&#xff0c;以仅600万美元的训练成本实现了与OpenAI O1系列&#xff08;开发成本约5亿美元&#xff09;相当的推理性能&#xff0c…...

python中的深度学习框架TensorFlow 和 PyTorch 有什么区别?

TensorFlow 和 PyTorch 是目前最流行的两个深度学习框架,它们在设计理念、使用方式和社区支持等方面存在一些显著的区别。以下是它们的主要区别: 1. 设计理念 TensorFlow: 静态计算图:TensorFlow 使用静态计算图,即在运行模型之前需要先定义整个计算图。这使得 TensorFlo…...

用 Python 实现 DeepSeek R1 本地化部署

DeepSeek R1 以其出色的表现脱颖而出&#xff0c;不少朋友想将其本地化部署&#xff0c;网上基于 ollama 的部署方式有很多&#xff0c;但今天我要带你领略一种全新的方法 —— 使用 Python 实现 DeepSeek R1 本地化部署&#xff0c;让你轻松掌握&#xff0c;打造属于自己的 AI…...

Spreadjs与GcExcel

GcExcel VS SpreadJS 前言 报表系统前端化,释放后端压力,调高前端研发产能,但随着报表系统的数据量的增加,浏览器的限制,前端报表已达到瓶颈,用户使用体验逐渐不友好,为解决这一问题,找到新的解决方案,所以写下此篇对比 两者分别是什么? SpreadJS 是一款基于 HTML5…...

vue中使用lodash的debounce(防抖函数)

1、安装 npm i --save lodash.debounce2、引入 import debounce from lodash.debounce3、使用 <van-search v-model"searchValue" placeholder"输入姓名或工号" inputhandleInput />第一种&#xff1a; handleInput: debounce(function (val) {c…...

什么是耐环境环形光源

耐环境环形光源是一种专为工业视觉系统设计的光源&#xff0c;能够在恶劣环境下稳定工作。以下是其主要特点和应用&#xff1a; 特点 耐用性&#xff1a;外壳坚固&#xff0c;通常采用金属或高强度塑料&#xff0c;能承受冲击、振动和温度变化。 防护等级&#xff1a;具备高IP防…...

3dtiles——Cesium ion for Autodesk Revit Add-In插件

一、说明&#xff1a; Cesium已经支持3dtiles的模型格式转换&#xff1b; 可以从Cesium官方Aesset中上传gltf等格式文件转换为3dtiles&#xff1b; 也可以下载插件&#xff08;例如revit-cesium插件&#xff09;转换并自动上传到Cesium官方Aseet中。 Revit转3dtiles插件使用…...

Edge浏览器清理主页

我们都知道&#xff0c;Microsoft Edge浏览器是微软创造的搜索浏览器&#xff0c;Windows10、11自带。但是你可以看到&#xff0c;每次你打开Edge浏览器的时候都可以看到许多的广告&#xff0c;如图&#xff1a; 导致打开Edge浏览器的时候会遭受卡顿&#xff0c;广告骚扰&#…...

leetcode刷题第十天——栈与队列Ⅱ

本次刷题顺序是按照卡尔的代码随想录中给出的顺序 1047. 删除字符串中的所有相邻重复项 char* removeDuplicates(char* s) {int len strlen(s);char* tmp malloc(sizeof(char) * (len 1));int top -1, idx 0;while(idx < len) {if(top -1) tmp[top] s[idx];else {i…...

硬修复(hPPR)与软修复(sPPR)

什么是PPR? PPR(Post Package Repair)是一种内存修复技术,主要用于修复DRAM(包括LPDDR4、DDR4等)中的存储单元故障。它通过在封装后对内存芯片进行修复,提高良率和可靠性,减少因制造缺陷导致的内存失效。 想象一下,你买了一袋苹果,有些苹果表面可能有个小斑点或者磕…...

filebeat抓取nginx日志

目录 一、抓取普通的应用输出日志到elasticsearch 二、抓取nginx日志输出到ElasticSearch 2.1、nginx.conf设定日志输出为JSON格式 2.2、nginx.conf设定日志按天输出文件 2.3、抓取Nginx JSON到ElasticSearch配置 一、抓取普通的应用输出日志到elasticsearch - type: log…...

TLQ-CN10.0.2.0 (TongLINK/Q-CN 集群)部署指引 (by lqw)

文章目录 安装准备虚拟机部署部署zk集群安装zk集群启动zk集群初始化元数据&#xff08;zk&#xff09;关闭zk集群 部署BookKeeper集群安装BookKeeper集群初始化元数据&#xff08;bk&#xff09;启动BookKeeper停止 BookKeeper 部署Brokers集群安装Brokers集群启动 broker停止 …...

第 14 天:UE5 C++ 与蓝图(Blueprint)交互!

&#x1f3af; 目标&#xff1a; ✅ 了解 C 与蓝图&#xff08;Blueprint&#xff09;交互的方式 ✅ 在 C 中调用蓝图函数 ✅ 让蓝图访问 C 变量和方法 ✅ 使用 UFUNCTION、UPROPERTY 进行蓝图暴露 ✅ 提高开发效率&#xff0c;让 C 和蓝图开发者高效协作 1️⃣ 为什么要让 C…...

小初高各学科教材,PDF电子版下载

链接&#xff1a;https://pan.quark.cn/s/7c2125f648e2 小初高中电子课本资料pdf合集 高中各科教材 &#xff08;部分举例&#xff09; - 语文&#xff1a;新人教版、旧人教版、苏教版等 - 数学&#xff1a;人教A版、沪教版、鄂教版等 - 英语&#xff1a;重大版、人教版…...

Trader Joe‘s EDI 需求分析

Trader Joes成立于1967年&#xff0c;总部位于美国加利福尼亚州&#xff0c;是一家独特的零售商&#xff0c;专注于提供高质量且价格合理的食品。公司经营范围涵盖了各类杂货、冷冻食品、健康食品以及独特的本地特色商品。 EDI需求分析 电子数据交换&#xff08;EDI&#xff…...

python class详解

在 Python 中&#xff0c;class 是用来创建新的数据类型&#xff0c;即对象的蓝图。类可以包含属性&#xff08;变量&#xff09;和方法&#xff08;函数&#xff09;&#xff0c;它们定义了对象的状态和行为。以下是 Python 类的基本概念和用法的详细解释&#xff1a; 定义类…...

基于LVS负载均衡练习

对比 LVS 负载均衡群集的 NAT 模式和 DR 模式&#xff0c;比较其各自的优势。 NAT模式&#xff0c;全称是网络地址转换模式。NAT模式下&#xff0c;负载均衡器&#xff08;Director&#xff09;会修改请求和响应的IP地址。客户端的请求先到达Director&#xff0c;Director将请…...

在 rtthread中,rt_list_entry (rt_container_of) 已知结构体成员的地址,反推出结构体的首地址

rt_list_entry (rt_container_of)宏定义&#xff1a; /*** rt_container_of - return the start address of struct type, while ptr is the* member of struct type.*/ #define rt_container_of(ptr, type, member) \((type *)((char *)(ptr) - (unsigned long)(&((type *…...

为什么92%的AI系统在L3自治阶段遭遇安全断层?奇点大会安全专家组深度拆解AI原生框架的4个不可绕过的设计拐点

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI原生安全框架&#xff1a;2026奇点智能技术大会安全专家解读 在2026奇点智能技术大会上&#xff0c;来自全球12家顶尖AI安全实验室的联合工作组正式发布《AI原生安全框架&#xff08;AISF v1.0&#…...

告别多个客户端!用DBeaver企业版一站式管理Hive、Impala、Redis等5种数据源(附驱动下载与配置避坑)

数据工程师的效率革命&#xff1a;DBeaver企业版全栈数据源管理实战指南 在数据驱动的时代&#xff0c;工程师们每天需要面对的是散落在不同平台、不同协议下的数据孤岛。从传统的关系型数据库到新兴的NoSQL存储&#xff0c;从大数据分析引擎到内存数据库&#xff0c;每种数据源…...

TEA5767收音机模块避坑指南:STM32 I2C通信那些容易忽略的细节

TEA5767收音机模块避坑指南&#xff1a;STM32 I2C通信那些容易忽略的细节 在嵌入式音频开发领域&#xff0c;TEA5767作为经典的FM收音模块&#xff0c;凭借其高集成度和简单易用的特性&#xff0c;成为许多STM32项目的首选。然而在实际开发中&#xff0c;不少工程师都会遇到信号…...

Gemini3.1Pro多Agent涌现机制揭秘

“多 Agent 社会中 Gemini 3.1 Pro 的涌现行为”之所以难写&#xff0c;是因为涌现常被误解为“看起来很聪明”。要写成高质量文章&#xff0c;必须回答两件事&#xff1a;涌现究竟是什么&#xff08;可观测定义&#xff09;&#xff0c;以及为什么它发生&#xff08;可验证机制…...

Horos医疗影像查看器:macOS平台上的免费专业DICOM解决方案

Horos医疗影像查看器&#xff1a;macOS平台上的免费专业DICOM解决方案 【免费下载链接】horos Horos™ is a free, open source medical image viewer. The goal of the Horos Project is to develop a fully functional, 64-bit medical image viewer for OS X. Horos is base…...

告别手动抠图:layerdivider智能图像分层工具完整指南

告别手动抠图&#xff1a;layerdivider智能图像分层工具完整指南 【免费下载链接】layerdivider A tool to divide a single illustration into a layered structure. 项目地址: https://gitcode.com/gh_mirrors/la/layerdivider 你是否曾经花费数小时在Photoshop中手动…...

别再傻傻重启电脑了!Win10下NVIDIA Container CPU占用飙升的终极修复指南

彻底驯服NVIDIA Container&#xff1a;Win10下CPU占用异常的深度解决方案 每次打开任务管理器&#xff0c;看到"NVIDIA Container"进程像脱缰野马一样吞噬着CPU资源&#xff0c;那种无力感想必许多Windows用户都深有体会。这个看似无害的后台服务&#xff0c;常常在不…...

基于Cloudflare Workers的Gemini模型OpenAI API兼容代理部署指南

1. 项目概述&#xff1a;将Google Gemini模型桥接到OpenAI生态 如果你和我一样&#xff0c;既想体验Google Gemini 2.5系列模型强大的推理和视觉能力&#xff0c;又早已习惯了OpenAI API那套简洁、标准化的调用方式&#xff0c;那么你肯定也遇到过“生态割裂”的烦恼。每次想用…...

基于Codai框架构建定制化AI编码助手:从RAG原理到微服务代码生成实战

1. 项目概述&#xff1a;一个面向现代开发者的AI编码助手框架最近在GitHub上闲逛&#xff0c;发现了一个挺有意思的项目&#xff0c;叫meysamhadeli/codai。乍一看名字&#xff0c;可能很多人会以为又是一个类似GitHub Copilot的AI代码补全工具。但深入探究后&#xff0c;我发现…...

终极解决方案:用代码绘图插件让Draw.io效率提升300%的完整指南

终极解决方案&#xff1a;用代码绘图插件让Draw.io效率提升300%的完整指南 【免费下载链接】drawio_mermaid_plugin Mermaid plugin for drawio desktop 项目地址: https://gitcode.com/gh_mirrors/dr/drawio_mermaid_plugin 还在为技术文档中的图表绘制而烦恼吗&#x…...