2678. 老人的数目
题目描述
给你一个下标从 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 岁。
提示:
1 <= details.length <= 100details[i].length == 15details[i]中的数字只包含'0'到'9'。details[i][10]是'M','F'或者'O'之一。- 所有乘客的手机号码和座位号互不相同。
 
解法
方法一:遍历计数
我们可以遍历 details 中的每个字符串 \(x\),并将 \(x\) 的第 \(12\) 和第 \(13\) 个字符(下标为 \(11\), \(12\))转换为整数,判断是否大于 \(60\),如果是则将答案加一。
遍历结束后,返回答案即可。
时间复杂度 \(O(n)\),其中 \(n\) 是 details 的长度。空间复杂度 \(O(1)\)。
1 2 3  |  | 
1 2 3 4 5 6 7 8 9 10 11 12  |  | 
1 2 3 4 5 6 7 8 9 10 11  |  | 
1 2 3 4 5 6 7 8 9  |  | 
1 2 3  |  | 
1 2 3 4 5 6 7 8 9  |  |