Easy

题目描述

给你一个四舍五入到两位小数的非负浮点数 celsius 来表示温度,单位是摄氏度。

你需要将摄氏度转换为开尔文和华氏度,并以数组 ans = [kelvin, fahrenheit] 的形式返回结果。

返回数组 ans。与实际答案误差在 10^-5 以内的答案都可以接受。

注意:

  • 开尔文 = 摄氏度 + 273.15
  • 华氏度 = 摄氏度 × 1.80 + 32.00

示例 1:

输入:celsius = 36.50
输出:[309.65000,97.70000]
解释:36.50 摄氏度:转换为开尔文是 309.65,转换为华氏度是 97.70。

示例 2:

输入:celsius = 122.11
输出:[395.26000,251.79800]
解释:122.11 摄氏度:转换为开尔文是 395.26,转换为华氏度是 251.798。

约束条件:

  • 0 <= celsius <= 1000

提示:

  • 实现题目中给出的公式即可。

解题思路

这是一道简单的数学计算题,只需要按照题目给出的公式进行温度转换即可。

解题思路

题目要求将摄氏度温度转换为开尔文和华氏度,并返回一个包含两个结果的数组。

转换公式:

  • 开尔文 = 摄氏度 + 273.15
  • 华氏度 = 摄氏度 × 1.80 + 32.00

实现步骤:

  1. 根据公式计算开尔文温度:celsius + 273.15
  2. 根据公式计算华氏度温度:celsius * 1.80 + 32.00
  3. 将两个结果按顺序放入数组并返回

这道题没有复杂的算法,直接套用公式即可。需要注意的是返回数组的顺序:先开尔文,后华氏度。

时间复杂度: O(1) - 只需要进行常数次数学运算 空间复杂度: O(1) - 只需要常数额外空间存储结果

代码实现

class Solution {
public:
    vector<double> convertTemperature(double celsius) {
        double kelvin = celsius + 273.15;
        double fahrenheit = celsius * 1.80 + 32.00;
        return {kelvin, fahrenheit};
    }
};
class Solution:
    def convertTemperature(self, celsius: float) -> List[float]:
        kelvin = celsius + 273.15
        fahrenheit = celsius * 1.80 + 32.00
        return [kelvin, fahrenheit]
public class Solution {
    public double[] ConvertTemperature(double celsius) {
        double kelvin = celsius + 273.15;
        double fahrenheit = celsius * 1.80 + 32.00;
        return new double[] {kelvin, fahrenheit};
    }
}
var convertTemperature = function(celsius) {
    const kelvin = celsius + 273.15;
    const fahrenheit = celsius * 1.80 + 32.00;
    return [kelvin, fahrenheit];
};

复杂度分析

复杂度类型说明
时间复杂度O(1)只需要进行常数次数学运算
空间复杂度O(1)只需要常数额外空间存储结果

相关题目