day1算法练习

题目

https://www.nowcoder.com/practice/8c949ea5f36f422594b306a2300315da

描述

计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)

输入描述:

输入一行,代表要计算的字符串,非空,长度小于5000。

输出描述:

输出一个整数,表示输入字符串最后一个单词的长度。

示例1

输入:

hello nowcoder

输出:

8

说明:

最后一个单词为nowcoder,长度为8   

题解1(python)

代码

a=input("").split(" ")
print(len(a[-1]))

 

  

思路/具体实现

使用input函数读取输入值,再使用split函数以“ ”为条件进行字符串的分离,最后读取字符串的最后一个值赋值到a使用len读取长度并且打印输出

复杂度

  • 时间复杂度:O(n),只要打印出最后的长度即可,但是调用split()函数复杂度为O(n)
  • 空间复杂度:O(1),未引入额外的空间

题解2(Cpp)

代码

#include<iostream>
#include<string>
using namespace std;
int main()
{
    string s;
    while((cin>>s).get()!='\n');
    cout<<s.size();
    return 0;
}

 

思路/具体实现

不断输入字符串,输出最后字符串长度/也可以转置一下哈哈哈

复杂度

时间复杂度:O(n)

空间复杂度:O(1)

posted @ 2023-01-08 16:29  ahang_Na!  阅读(4)  评论(0编辑  收藏  举报