2744. 最大字符串配对数目

Problem: 2744. 最大字符串配对数目

文章目录

  • 思路
  • 解题方法
  • 复杂度
  • Code
  • 拓展
    • 官方解法
    • 拓展解释

思路

  1. 要求返回数组中的反转字符数目;
  2. 数组中每个元素都是固定的2个长度的小写字符串,且不相同;
  3. 由不相同可知如果是aa,bb这种类型的必定不会有反转字符串;

解题方法

从后向前遍历暴力对比解题

复杂度

时间复杂度 O ( n 2 ) O(n^2) O(n2)

空间复杂度 O ( n ) O(n) O(n)

Code

class Solution {
public:int maximumNumberOfStringPairs(vector<string>& words) {int count=0;for(int i = words.size()-1;i>0;i--){if(words[i][0]==words[i][1]) continue;for(int j = i-1;j>=0;j--){if(words[i][0]==words[j][1]&&words[i][1]==words[j][0]){count++;break;}}}return count;}
};

拓展

官方解法

class Solution {
public:int maximumNumberOfStringPairs(vector<string>& words) {int n = words.size();int ans = 0;unordered_set<int> seen;for (int i = 0; i < n; ++i) {if (seen.count(words[i][1] * 100 + words[i][0])) {++ans;}seen.insert(words[i][0] * 100 + words[i][1]);}return ans;}
};作者:力扣官方题解
链接:https://leetcode.cn/problems/find-maximum-number-of-string-pairs/solutions/2604698/zui-da-zi-fu-chuan-pei-dui-shu-mu-by-lee-0x0e/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

拓展解释

代码逻辑如下:

  1. 定义一个类Solution,包含一个公共函数maximumNumberOfStringPairs。
  2. 在maximumNumberOfStringPairs函数中,首先获取字符串数组words的大小n。
  3. 初始化变量ans为0,用于记录满足条件的字符串对数量。
  4. 定义一个无序集合seen,用于存储已经出现过的字符串对的数字形式。
  5. 遍历字符串数组words的每个字符串words[i],执行以下操作:
    a. 判断seen中是否已经包含字符串words[i]的逆序(即words[i][1] * 100 + words[i][0])。如果包含,说明找到了一个满足条件的字符串对,将ans加1。
    b. 将字符串words[i]的顺序(即words[i][0] * 100 + words[i][1])插入到seen中,表示已经出现过了。
  6. 返回ans作为结果,即满足条件的字符串对的最大数量。

注意:在代码中,将字符串转换为数字形式是通过将字符串的第一个字符乘以100加上第二个字符来实现的。这种转换方式是为了方便比较和存储。

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

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

相关文章

spring-boot定时任务

org.springframework.boot jar包 内置定时任务注解 。生成定时任务有 * * * * * &#xff1f; 表示秒分时日月周。 日和周的位置 必须某个位置用&#xff1f;代替*号用于区别。 定时任务规则&#xff1a;0 * * * &#xff1f; * * 表示任意月的任意周的每天的每时的每分…

抖音矩阵云混剪系统源码(免授权版)多平台多账号一站式管理,附带系统搭建教程

搭建教程 MySQL 5.6 PHP 7.2 Apache 数据库名称 juzhen Nginx环境切换伪静态 1、解压安装包到项目根目录&#xff0c;找到application/database.php 更换自己的数据库密码 2、阿里云现有的配置不要动 其他按照文档进行添加 3、项目访问目录&#xff1a;public 4、域名…

SQL笔记 -- 查询优化

1. 关联查询优化 1.1 驱动表和被驱动表 对于内连接来说&#xff0c;优化器会根据用户的查询语句做优化&#xff0c;决定先查哪张表。先查询的那张表就是驱动表&#xff0c;反之就是被驱动表。而对于外连接来说&#xff0c;大多数情况用户指定的主表就是驱动表&#xff0c;但优…

Demo: 实现PDF加水印以及自定义水印样式

实现PDF加水印以及自定义水印样式 <template><div><button click"previewHandle">预览</button><button click"downFileHandle">下载</button><el-input v-model"watermarkText" /><el-input v-mo…

敏捷开发之Scrum

敏捷开发是什么 我们一般习惯用瀑布模型&#xff0c;它以文档为驱动&#xff0c;将软件生命周期划分为固定的六个基本活动&#xff0c;并且规定了它们自上而下、相互衔接的次序&#xff0c;如同瀑布流水&#xff0c;逐级下落。 那什么是敏捷开发呢&#xff1f; ​ 敏捷开发的核…

解决前端笔记本电脑屏幕显示缩放比例125%、150%对页面大小的影响问题

近期在工作中遇到一个问题&#xff0c;记录一下&#xff0c;在项目上线之后&#xff0c;遇到一个问题&#xff0c;即缩放到90%时&#xff0c;页面字体比默认的100%字体大&#xff0c;一开始毫无头绪&#xff0c;经过一番的Google...Google...Google....&#xff0c;终于找到了解…

代码随想录算法训练营第五天| 总结数组专题

数组&#xff1a;二分查找、双指针&#xff08;包括快慢指针&#xff09;、滑动窗口、模拟 链表&#xff1a;双指针、三指针、虚拟头指针、复杂指针操作画图明确每一步&#xff08;标好次序&#xff09; 数组 代码随想录总结的很好&#xff0c;如下图。我再结合自己的一些理解…

AI 的未来是开源的

想象一下&#xff0c;在未来&#xff0c;人工智能不会被锁在公司的金库里&#xff0c;而是由全球创新者社区一砖一瓦地在开放中构建的。协作&#xff0c;而不是竞争&#xff0c;推动进步&#xff0c;道德考虑与原始绩效同等重要。这不是科幻小说&#xff0c;而是人工智能发展核…

【PostgreSQL内核学习(二十四) —— (ALTER MATERIALIZED VIEW)】

ALTER MATERIALIZED VIEW 概述源码解析修改物化视图的属性和行为AlterTableStmt 结构体AlterTableMoveAllStmt 结构体 重命名RenameStmt 结构体 设置对象依赖于扩展AlterObjectDependsStmt 结构体 测试用例 声明&#xff1a;本文的部分内容参考了他人的文章。在编写过程中&…

C++I/O流——(4)格式化输入/输出(第二节)

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd; 含泪播种的人一定能含笑收获&#xff…

73.网游逆向分析与插件开发-背包的获取-物品数据的初步数据分析

内容参考于&#xff1a;易道云信息技术研究院VIP课 上一个内容&#xff1a;72.网游逆向分析与插件开发-背包的获取-项目需求与需求拆解-CSDN博客 然后首先找切入点&#xff1a; 通过药物来当切入点&#xff0c;药物比较好使用&#xff0c;然后鼠标放到药物上它有名字、种类、…

Java注解技术

1. 注解的简介 从JDK 5开始&#xff0c;Java增加了对元数据&#xff08;MetaData&#xff09;的支持&#xff0c;也就是注解&#xff08;Annotation&#xff09;。 注解就是代码里的特殊标记&#xff0c;这些标记可以在编译、类加载、运行时被读取&#xff0c;并执行相应的处…

【分布式技术】分布式存储ceph之RGW接口

目录 1、对象存储概念 2、创建 RGW 接口 //在管理节点创建一个 RGW 守护进程 #创建成功后默认情况下会自动创建一系列用于 RGW 的存储池 #默认情况下 RGW 监听 7480 号端口 //开启 httphttps &#xff0c;更改监听端口 #更改监听端口 ​ //创建 RadosGW 账户 …

【Go学习】macOS+IDEA运行golang项目,报command-line-arguments,undefined

写在前面的话&#xff1a;idea如何配置golang&#xff0c;自行百度 问题1&#xff1a;通过idea的terminal执行go test报错 ✘ xxxxxmacdeMacBook-Pro-3  /Volumes/mac/.../LearnGoWithTests/hello  go test go: go.mod file not found in current directory or any parent …

【LeetCode热题100】【子串】和为 K 的子数组

题目 给你一个整数数组 nums 和一个整数 k &#xff0c;请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 示例 1&#xff1a; 输入&#xff1a;nums [1,1,1], k 2 输出&#xff1a;2示例 2&#xff1a; 输入&#xff1a;nums [1,…

Jet Brains 2023 开发者生态系统现状

一、前言 今天刷到Jet Brains官方发布了2023 开发者生态系统现状&#xff0c;这个相信大家都不陌生&#xff0c;我们的开发工具IDEA就是它旗下的。 分析的蛮不错的&#xff0c;今天整理一下&#xff0c;和大家一起分享。 有想法大家可以一起交流一下哈&#xff01; 有兴趣的…

unity SqLite读取行和列

项目文件 链接&#xff1a;https://pan.baidu.com/s/1BabHvQ-y0kX_w15r7UvIGQ 提取码&#xff1a;emsg –来自百度网盘超级会员V6的分享 using System.Collections; using System.Collections.Generic; using UnityEngine; using Mono.Data.Sqlite; using System; using Syste…

LeetCode刷题--- 买卖股票的最佳时机含冷冻期

个人主页&#xff1a;元清加油_【C】,【C语言】,【数据结构与算法】-CSDN博客 个人专栏 力扣递归算法题 http://t.csdnimg.cn/yUl2I 【C】 ​​​​​​http://t.csdnimg.cn/6AbpV 数据结构与算法 ​​​http://t.csdnimg.cn/hKh2l 前言&#xff1a;这个专栏主要讲述动…

一个月学会Python,零基础入门数据分析

在数据分析领域&#xff0c;python是一个绕不开的知识和工具&#xff0c;如果不会用python就很难说自己会数据分析&#xff0c;但是最近很多想要入门数据分析的小白经常问我&#xff0c;Python怎么入门&#xff1f;Python虽然被称作是“最简洁的语言”&#xff0c;但是它终究还…