温度转换
问题描述(来源于leetcode)
给定一个四舍五入到两位小数的非负浮点数 celsius 表示摄氏度,需要将其转换为开氏度和华氏度,并以数组 [kelvin, fahrenheit] 的形式返回结果。
转换公式
- 开氏度 = 摄氏度 + 273.15
- 华氏度 = 摄氏度 × 1.80 + 32.00
注意: 与实际答案误差不超过 10⁻⁵ 的结果被视为正确。
解法分析
这是一个基础的数学计算问题,直接应用给定的转换公式即可解决。
代码实现
1 | class Solution: |
算法详解
步骤分解
- 接收输入:获取表示摄氏度的浮点数
celsius - 计算开氏度:使用公式
Kelvin = celsius + 273.15 - 计算华氏度:使用公式
Fahrenheit = celsius × 1.80 + 32.00 - 返回结果:以数组形式返回
[Kelvin, Fahrenheit]
复杂度分析
- 时间复杂度:O(1) - 只涉及常数次数学运算
- 空间复杂度:O(1) - 只使用了固定数量的变量
示例演示
示例 1
1 | 输入:celsius = 36.50 |
示例 2
1 | 输入:celsius = 122.11 |
温度单位知识扩展
三种温度标度对比
| 温度标度 | 发明者 | 零点定义 | 沸点定义 | 应用领域 |
|---|---|---|---|---|
| 摄氏度(°C) | 安德斯·摄尔修斯 | 水的冰点 | 水的沸点 | 日常生活、科学 |
| 开氏度(K) | 开尔文勋爵 | 绝对零度 | 水的沸点 | 科学研究 |
| 华氏度(°F) | 丹尼尔·华伦海特 | 盐水冰点 | 人体温度 | 美国日常 |
转换公式总结
- 摄氏转开氏:K = °C + 273.15
- 开氏转摄氏:°C = K - 273.15
- 摄氏转华氏:°F = °C × 1.8 + 32
- 华氏转摄氏:°C = (°F - 32) ÷ 1.8
总结
这道题目是一个基础的数学计算问题,主要考察:
- 对基本数学公式的理解和应用能力
- 浮点数运算的准确性
- 数组的构建和返回
虽然题目简单,但它涉及了实际生活中常用的温度单位转换,具有实用价值。通过解决这个问题,我们可以更好地理解不同温度标度之间的关系,为后续更复杂的计算问题打下基础。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 笺札!









