跳转至

3894. 交通信号灯的颜色

题目描述

给你一个整数 timer,表示交通信号灯上的剩余时间(以秒为单位)。

信号灯遵循以下规则:

  • 如果 timer == 0,信号灯为 "Green"
  • 如果 timer == 30,信号灯为 "Orange"
  • 如果 30 < timer <= 90,信号灯为 "Red"

返回信号灯的当前状态。如果均不满足上述条件,返回 "Invalid"

 

示例 1:

输入: timer = 60

输出: "Red"

解释:

因为 timer = 60,且 30 < timer <= 90,所以答案是 "Red"

示例 2:

输入: timer = 5

输出: "Invalid"

解释:

因为 timer = 5,不满足任何给定的条件,所以答案是 "Invalid"

 

提示:

  • 0 <= timer <= 1000

解法

方法一:模拟

我们根据题目描述的条件进行判断,返回对应的字符串即可。

时间复杂度 \(O(1)\),空间复杂度 \(O(1)\)

1
2
3
4
5
6
7
8
9
class Solution:
    def trafficSignal(self, timer: int) -> str:
        if timer == 0:
            return "Green"
        if timer == 30:
            return "Orange"
        if 30 < timer <= 90:
            return "Red"
        return "Invalid"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
class Solution {
    public String trafficSignal(int timer) {
        if (timer == 0) {
            return "Green";
        }
        if (timer == 30) {
            return "Orange";
        }
        if (timer > 30 && timer <= 90) {
            return "Red";
        }
        return "Invalid";
    }
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
class Solution {
public:
    string trafficSignal(int timer) {
        if (timer == 0) {
            return "Green";
        }
        if (timer == 30) {
            return "Orange";
        }
        if (timer > 30 && timer <= 90) {
            return "Red";
        }
        return "Invalid";
    }
};
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
func trafficSignal(timer int) string {
    switch {
    case timer == 0:
        return "Green"
    case timer == 30:
        return "Orange"
    case timer > 30 && timer <= 90:
        return "Red"
    default:
        return "Invalid"
    }
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
function trafficSignal(timer: number): string {
    if (timer === 0) {
        return 'Green';
    }
    if (timer === 30) {
        return 'Orange';
    }
    if (timer > 30 && timer <= 90) {
        return 'Red';
    }
    return 'Invalid';
}

评论