2678. 老人的数目

发布时间 2023-10-25 11:04:42作者: DawnTraveler

1.题目介绍

给你一个下标从 0 开始的字符串 details 。details 中每个元素都是一位乘客的信息,信息用长度为 15 的字符串表示,表示方式如下:

  • 前十个字符是乘客的手机号码。
  • 接下来的一个字符是乘客的性别。
  • 接下来两个字符是乘客的年龄。
  • 最后两个字符是乘客的座位号。
    请你返回乘客中年龄 严格大于 60 岁 的人数。

示例 1:
输入:details = ["7868190130M7522","5303914400F9211","9273338290F4010"]
输出:2
解释:下标为 0 ,1 和 2 的乘客年龄分别为 75 ,92 和 40 。所以有 2 人年龄大于 60 岁。

示例 2:
输入:details = ["1313579440F2036","2921522980M5644"]
输出:0
解释:没有乘客的年龄大于 60 岁。

2.题解

使用substr函数配合stoi函数即可(注意stoi函数的参数不可有非数字字符!)

class Solution {
public:
    int countSeniors(vector<string>& details) {
        int count = 0;
        for (string detail : details) {
            // 提取年龄信息,注意这里需要将字符转换为整数
            int age = stoi(detail.substr(11, 2));
            if (age > 60) {
                count++;
            }
        }
        return count;
    }
};