欢迎光临散文网 会员登陆 & 注册

2490. 回环句

2023-04-12 22:25 作者:目标力扣Knight  | 我要投稿

2490. 回环句

摘要

  • C++:匿名函数的定义,捕获,返回值定义

  • python:逆序切片,str.split() 方法

方法一:Brute-Force

模拟题目要求,一般地,分别使用方法/自定义函数对字符串按照空格切割,逐次遍历数组中的每一个元素,在题目的两个要求中,第一个优先级最高,有限判断首尾单词的头字母和尾字母是否相等,然后从第二个单词开始,逐次判断当前单词的首字母是否与上一个单词的尾字母相同;

Python版本


C++版本

 


C++版本2



复杂度分析

  • 时间复杂度:O(C)。n 作为 sentence数组的长度,代表的是其中每一个字母,我们假设两个字母即可构成一个单词,那么至多有 n / 2 = 250个单词。切割单词和校验条件,两次遍历,复杂度至多不超过500.

  • 空间复杂度:O(C)。同上可得,此题空间复杂度在于存储单词,至多250个。

备注

  • 容易犯错的地方:遵循编程范式以及节约时间,务必为匿名函数指定返回值类型,以及在指定后一定记得使用 return obj及时范围;

  • 在读取嵌套数组时,先写注释厘清位序来源,再写代码,对于二位数组而言,一维来自当前遍历的位序,二维来自与一位读取的单词的长度,此外:即使C++支持逆序切片,使用正序读取可以降低出错的概率;:result[n-1][result[n-1].length()-1]

  • 力扣不再检查形式上的返回值,因此可以将True False两种返回值放在逻辑判断语句中,仍然能够通过检查;

  • C++还可以通过 istringstream将字符串读入标准输入流,另起string类型容器和变量,循环从 istringstream输入流中读出到变量,并且将该变量插入容器中;


2490. 回环句的评论 (共 条)

分享到微博请遵守国家法律