iT邦幫忙

2024 iThome 鐵人賽

DAY 1
1
佛心分享-刷題不只是刷題

8月 LeetCode Daily 見聞錄系列 第 1

[8/1] 2678. Number of Senior Citizens

  • 分享至 

  • xImage
  •  

Easy
Related Topics: Array / String
LeetCode Source

解題想法

details 的陣列中,總長 15,計算說有幾個人年齡大於 60

而年齡的部份分別是存在 index 第11跟第12的部份

所以只要得到這兩個數值,並轉成 integer 跟 60 比較就可以得出該人是否年齡大於 60

最後加總人數就可以得到答案

Complexity

Time Complexity: O(n)
Space Complexity: O(1)

Python

class Solution:
    def countSeniors(self, details: List[str]) -> int:
        res = 0
        for i in range(len(details)):
            if int(details[i][11]) * 10 + int(details[i][12]) > 60:
                res += 1
        return res

C++

注意到,C++ 在轉 char 到 int 是使用 (int) 並減 0,這樣才能得出 integer

單純用 (int) 是轉 ASCII Code

class Solution {
public:
    int countSeniors(vector<string>& details) {
        int res = 0;
        for (int i = 0; i < details.size(); i++) {
            if (((int)details[i][11] - '0') * 10 + ((int)details[i][12] - '0') > 60)
                res += 1;
        }
        return res;
    }
};

下一篇
[8/2] 2134. Minimum Swaps to Group All 1's Together II
系列文
8月 LeetCode Daily 見聞錄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言