寒假冬令营(算法编程)1月12日(字符串)

题目描述(1)

1662. 检查两个字符串数组是否相等

. - 力扣(LeetCode)

给你两个字符串数组 word1word2 。如果两个数组表示的字符串相同,返回 true ;否则,返回 false

数组表示的字符串 是由数组中的所有元素 按顺序 连接形成的字符串。

示例 1:

输入:word1 = ["ab", "c"], word2 = ["a", "bc"]
输出:true
解释:
word1 表示的字符串为 "ab" + "c" -> "abc"
word2 表示的字符串为 "a" + "bc" -> "abc"
两个字符串相同,返回 true

示例 2:

输入:word1 = ["a", "cb"], word2 = ["ab", "c"]
输出:false

示例 3:

输入:word1  = ["abc", "d", "defg"], word2 = ["abcddefg"]
输出:true

提示:

  • 1 <= word1.length, word2.length <= 103

  • 1 <= word1[i].length, word2[i].length <= 103

  • 1 <= sum(word1[i].length), sum(word2[i].length) <= 103

  • word1[i]word2[i] 由小写字母组成

解题结果

Java

class Solution {// 定义一个方法,用于检查两个字符串数组是否表示相同的字符串public boolean arrayStringsAreEqual(String[] word1, String[] word2) {// 创建两个 StringBuilder 对象,用于拼接字符串StringBuilder sb1 = new StringBuilder();StringBuilder sb2 = new StringBuilder();
​// 遍历第一个字符串数组 word1,将每个字符串拼接到 sb1 中for (String str : word1) {sb1.append(str);}
​// 遍历第二个字符串数组 word2,将每个字符串拼接到 sb2 中for (String str : word2) {sb2.append(str);}
​// 比较两个拼接后的字符串是否相等,返回比较结果return sb1.toString().equals(sb2.toString());}
}

C语言

// 函数:检查两个字符串数组是否表示相同的字符串
bool arrayStringsAreEqual(char **word1, int word1Size, char **word2, int word2Size) {
​// 若两个字符串数组均为空,则认为它们相等if (word1Size == 0 && word2Size == 0) {return true;}
​// 定义临时字符数组,用于存储拼接后的字符串char temp[10000] = "";char temp2[10000] = "";
​// 遍历第一个字符串数组 word1,将每个字符串拼接到 temp 中for (int i = 0; i < word1Size; i++) {strcat(temp, word1[i]);}
​// 遍历第二个字符串数组 word2,将每个字符串拼接到 temp2 中for (int i = 0; i < word2Size; i++) {strcat(temp2, word2[i]);}
​// 使用 strcmp 函数比较两个拼接后的字符串是否相等if (strcmp(temp, temp2) == 0) {return true;}
​// 如果两个字符串不相等,返回 falsereturn false;
}

C++

class Solution {
public:bool arrayStringsAreEqual(vector<string>& word1, vector<string>& word2) {string str1, str2;for (auto& str : word1) str1 += str;for (auto& str : word2) str2 += str;return str1 == str2;}
};

Python

class Solution:def arrayStringsAreEqual(self, word1: List[str], word2: List[str]) -> bool:return ''.join(word1) == ''.join(word2)

题目描述(2)

2114. 句子中的最多单词数

. - 力扣(LeetCode)

一个 句子 由一些 单词 以及它们之间的单个空格组成,句子的开头和结尾不会有多余空格。

给你一个字符串数组 sentences ,其中 sentences[i] 表示单个 句子

请你返回单个句子里 单词的最多数目

示例 1:

输入:sentences = ["alice and bob love leetcode", "i think so too", "this is great thanks very much"]
输出:6
解释:
- 第一个句子 "alice and bob love leetcode" 总共有 5 个单词。
- 第二个句子 "i think so too" 总共有 4 个单词。
- 第三个句子 "this is great thanks very much" 总共有 6 个单词。
所以,单个句子中有最多单词数的是第三个句子,总共有 6 个单词。

示例 2:

输入:sentences = ["please wait", "continue to fight", "continue to win"]
输出:3
解释:可能有多个句子有相同单词数。
这个例子中,第二个句子和第三个句子(加粗斜体)有相同数目的单词数。

提示:

  • 1 <= sentences.length <= 100

  • 1 <= sentences[i].length <= 100

  • sentences[i] 只包含小写英文字母和 ' '

  • sentences[i] 的开头和结尾都没有空格。

  • sentences[i] 中所有单词由单个空格隔开。

解题结果

Java

class Solution {// 方法:计算句子中单词的最大数量public int mostWordsFound(String[] sentences) {// 初始化最大单词数量为 0int maxWords = 0;
​// 遍历每个句子for (String sentence : sentences) {// 初始化当前句子的单词数量为 1(假设每个句子至少有一个单词)int words = 1;
​// 获取当前句子的长度int length = sentence.length();
​// 遍历句子中的每个字符for (int i = 0; i < length; i++) {// 如果当前字符是空格,增加单词数量if (sentence.charAt(i) == ' ') {words++;}}
​// 更新最大单词数量maxWords = Math.max(maxWords, words);}
​// 返回最大单词数量return maxWords;}
}

C语言

// 函数:计算句子中单词的最大数量
int mostWordsFound(char **sentences, int sentencesSize) {int wordsNum = 1;  // 初始化单词数量为1,假设每个句子至少有一个单词int max = 1;       // 初始化最大单词数量为1
​// 遍历每个句子for (int i = 0; i < sentencesSize; i++) {wordsNum = 1;  // 重置单词数量为1
​// 遍历句子中的每个字符for (int j = 0; j < strlen(sentences[i]); j++) {// 如果当前字符是空格,增加单词数量if (sentences[i][j] == ' ') {wordsNum++;}}
​// 更新最大单词数量if (wordsNum > max) {max = wordsNum;}}
​// 返回最大单词数量return max;
}

C++

class Solution {
public:int mostWordsFound(vector<string>& sentences) {int res = 0;for (const string& sentence: sentences) {// 单词数 = 空格数 + 1int cnt = count(sentence.begin(), sentence.end(), ' ') + 1;res = max(res, cnt);}return res;}
};

Python

class Solution:def mostWordsFound(self, sentences: List[str]) -> int:res = 0for sentence in sentences:#  单词数 = 空格数 + 1cnt = sentence.count(' ') + 1res = max(res, cnt)return res

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

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

相关文章

C51--摇头测距小车

摇头测距小车——舵机和超声波封装 #include "reg52.h"#include "HC04.h" #include "Delay.h" #include "sg90.h" #include "motor.h"#define MIDDLE 0 #define LEFT 1 #define RIGHT 2void main() {char dir;double di…

YOLOv8改进 | 细节涨点篇 | UNetv2提出的一种SDI多层次特征融合模块(分割高效涨点)

一、本文介绍 本问给大家带来的改进机制是UNetv2提出的一种多层次特征融合模块(SDI)其是一种用于替换Concat操作的模块,SDI模块的主要思想是通过整合编码器生成的层级特征图来增强图像中的语义信息和细节信息。该方法已在多个公开的医学图像分割数据集上进行了验证,包括皮…

【数据库原理】(27)数据库恢复

在数据库系统中&#xff0c;恢复是指在发生某种故障导致数据库数据不再正确时&#xff0c;将数据库恢复到已知正确的某一状态的过程。数据库故障可能由多种原因引起&#xff0c;包括硬件故障、软件错误、操作员失误以及恶意破坏。为了确保数据库的安全性和完整性&#xff0c;数…

多合一小程序商城系统源码:支持全平台端口 附带完整的搭建教程

现如今&#xff0c;随着移动互联网的飞速发展&#xff0c;小程序已经成为电商行业的新宠。罗峰给大家分享一款多合一小程序商城系统源码。该系统旨在为商家提供一个功能强大、易于搭建和管理的电商平台&#xff0c;帮助商家快速占领市场&#xff0c;提高品牌影响力。 以下是部…

安卓之视频智能字幕的应用场景以及各种技术优劣分析

一、文章摘要 随着技术的发展&#xff0c;智能字幕已经成为了安卓平台上一个重要的功能&#xff0c;特别是在视频播放方面。它为用户提供了一种更方便、更快捷的方式来理解视频内容&#xff0c;尤其是在多种语言环境下或者在没有声音的环境中。下面我们将详细探讨安卓平台上视频…

BP-50 开发框架使用解读

【独家框架】UWB DWM1000 开源项目框架 - 基础知识 51uwb.cn [重要更新]51uwb_base code中断更新 - 基础知识 51uwb.cn 【软件资料】BP50 套件新框架定位代码实现 - 基础知识 51uwb.cn 【开源项目】纯Python TWR算法UWB上位机 - 基础知识 51uwb.cn 上位机软件通信协议更改说明 …

【打卡】牛客网:BM88 判断是否为回文字符串

我写的&#xff1a; 其实不用考虑奇数长度还是偶数长度。 class Solution { public:/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法规定的值即可** * param str string字符串 待判断的字符串* return bool布尔型*/bool judge(strin…

day08

回顾 1.选择排序原理: 找到最小值的下标&#xff0c;交换 2.冒泡排序原理: 比较相邻的两个元素&#xff0c;把最小值放到左边。第一次比较的时候最大值放到最右边了&#xff0c;以此类推今天的内容 1类和对象 2.类和对象内存 3.构造方法 1.从生活的角度区理解面向对象开发 有两…

C program to check little vs. big endian

void main() {int n 1;// little endian if trueif(*(char *)&n 1)printf("This is little endian\n");elseprintf("This is big endian\n"); }Suppose we are on a 32-bit machine. And char type is 8 bits

如何配置mybatisplus基础环境?

1.在pom文件&#xff08;都加上吧&#xff0c;以防万一&#xff09; 2.若当初有mybatis的依赖&#xff0c;要删除 3.在Mapper接口加上"extends BaseMapper<实体类型>" 4.更改yml文件内容 别名扫描包&#xff1a;是指实体类型 5.添加"extends ServiceIm…

Python中英文时间转换

&#x1f345; 写在前面 &#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;这里是hyk写算法了吗&#xff0c;一枚致力于学习算法和人工智能领域的小菜鸟。 &#x1f50e;个人主页&#xff1a;主页链接&#xff08;欢迎各位大佬光临指导&#xff09; ⭐️近…

互联网行业的高水平简历怎么写?(附模板)

HR浏览一份简历也就25秒左右&#xff0c;如果你连「好简历」都没有&#xff0c;怎么能找到好工作呢&#xff1f; 如果你不懂得如何在简历上展示自己&#xff0c;或者觉得怎么改简历都不出彩&#xff0c;那请你一定仔细读完。 互联网运营个人简历范文> 男 22 本科 AI简历…

Java智能导诊系统 (3D人体导医)源码

智能导诊是一种利用人工智能技术来帮助患者进行自助问询及挂号服务的系统。通过智能导诊系统&#xff0c;患者可以输入自身疾病的症状表现&#xff0c;或选择身体部位&#xff0c;在系统的多维度计算下&#xff0c;系统会根据患者提供的信息精准推荐科室&#xff0c;并引导患者…

DataX数据同步(全量)

1. DataX简介 1.1 DataX概述 DataX 是阿里巴巴开源的一个异构数据源离线同步工具&#xff0c;致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。 源码地址&#xff1a;https://github.com/alibaba/Dat…

Elasticsearch:聊天机器人教程(一)

在本教程中&#xff0c;你将构建一个大型语言模型 (LLM) 聊天机器人&#xff0c;该机器人使用称为检索增强生成 (RAG) 的模式。 使用 RAG 构建的聊天机器人可以克服 ChatGPT 等通用会话模型所具有的一些限制。 特别是&#xff0c;他们能够讨论和回答以下问题&#xff1a; 你的…

构建基于RHEL9系列(CentOS9,AlmaLinux9,RockyLinux9等)的支持63个常见模块的PHP8.1.20的RPM包

本文适用&#xff1a;rhel9系列&#xff0c;或同类系统(CentOS9,AlmaLinux9,RockyLinux9等) 文档形成时期&#xff1a;2023年 因系统版本不同&#xff0c;构建部署应略有差异&#xff0c;但本文未做细分&#xff0c;对稍有经验者应不存在明显障碍。 因软件世界之复杂和个人能力…

测试学习——答疑

1、什么是软件测试&#xff1f; 一个产品质量好&#xff0c;用户的使用感受佳&#xff0c;用户才愿意为此付费&#xff0c;这样企业才会获取收益&#xff0c;如果一个产品bug太多的话&#xff0c;那用户就不会买账。所以软件测试就是对产品进行测试&#xff0c;提高测试质量&am…

LLM之RAG理论(五)| 使用知识图谱增强RAG

知识图谱&#xff08;KG&#xff09;或任何图都包括节点和边&#xff0c;其中每个节点表示一个概念&#xff0c;每个边表示一对概念之间的关系。本文介绍一种将任何文本语料库转换为知识图谱的技术&#xff0c;本文演示的知识图谱可以替换其他专业知识图谱。 一、知识图谱 知识…

Go中更安全的枚举

iota Go让你用iota来使用枚举。 const (Guest iotaMemberModeratorAdmin )虽然Go是明确的&#xff0c;但iota似乎相对模糊。如果你以任何其他方式对const组进行排序&#xff0c;你会引入副作用。在上面的例子中&#xff0c;你仅仅对第一个参数Guest赋值了。你可以显式地给每…

2719. 统计整数数目

给你两个数字字符串 num1 和 num2 &#xff0c;以及两个整数 max_sum 和 min_sum 。如果一个整数 x 满足以下条件&#xff0c;我们称它是一个好整数&#xff1a; num1 < x < num2min_sum < digit_sum(x) < max_sum. 请你返回好整数的数目。答案可能很大&#xff…