【每日一题】老人的数目

文章目录

  • Tag
  • 题目来源
  • 题目解读
  • 解题思路
    • 方法一:遍历
  • 其他语言
    • python3
  • 写在最后

Tag

【遍历】【数组】【2023-10-23】


题目来源

2678. 老人的数目

【每日一题】老人的数目_第1张图片

题目解读

找出乘客中年龄严格大于 60 的人数。


解题思路

方法一:遍历

本题比较简单,直接遍历字符串数组,判断每一个字符串的第 11 位字符和第 12 字符组成的数字是否大于 60,如是将更新老人的数目 cnt += 1

实现代码

class Solution {
public:
    int countSeniors(vector<string>& details) {
        int cnt = 0;
        for (auto& s : details) {
            cnt += (s[11] - '0') * 10 + s[12] - '0' > 60;
        }
        return cnt;
    }
};

复杂度分析

时间复杂度: O ( n ) O(n) O(n) n n n 为数组 details 的长度。

空间复杂度: O ( 1 ) O(1) O(1)


其他语言

python3

class Solution:
    def countSeniors(self, details: List[str]) -> int:
        return sum(int(s[11:13]) > 60 for s in details)

简单解释一下上述代码,s[11:13] 表示字符串 s 的第 11 位到第 12 位的字符串。int 负责将 s[11:13] 强转成数值类型。后面的 for s in details 是 python 语言特有的列表表达式,sum 用来求和。


写在最后

如果文章内容有任何错误或者您对文章有任何疑问,欢迎私信博主或者在评论区指出 。

如果大家有更优的时间、空间复杂度方法,欢迎评论区交流。

最后,感谢您的阅读,如果感到有所收获的话可以给博主点一个 哦。

你可能感兴趣的:(LeetCode每日一题,遍历,数组,2023-10-23)