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
实现步骤:
- 根据公式计算开尔文温度:
celsius + 273.15 - 根据公式计算华氏度温度:
celsius * 1.80 + 32.00 - 将两个结果按顺序放入数组并返回
这道题没有复杂的算法,直接套用公式即可。需要注意的是返回数组的顺序:先开尔文,后华氏度。
时间复杂度: 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) | 只需要常数额外空间存储结果 |
相关题目
- . Smallest Even Multiple (Easy)