一, 2469.温度转换
给你一个四舍五入到两位小数的非负浮点数 celsius
来表示温度,以 摄氏度(Celsius)为单位。
你需要将摄氏度转换为 开氏度(Kelvin)和 华氏度(Fahrenheit),并以数组 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 。
我的解法:
class Solution {
public double[] convertTemperature(double celsius) {
return new double[]{celsius+273.15,celsius*1.80+32.00};
}
}
思考:
- double[]:这是方法的返回类型,表示此方法将返回一个
double
数组。该数组可能用于存储转换后的温度值。 - (double celsius):这是方法的参数列表,表示方法接收一个
double
类型的参数celsius
二,2235两整数相加
给你两个整数 num1
和 num2
,返回这两个整数的和。
示例 1:
输入:num1 = 12, num2 = 5 输出:17 解释:num1 是 12,num2 是 5 ,它们的和是 12 + 5 = 17 ,因此返回 17 。
示例 2:
输入:num1 = -10, num2 = 4 输出:-6 解释:num1 + num2 = -6 ,因此返回 -6 。
我的解法:
class Solution {
public int sum(int num1, int num2) {
return num1+num2;
}
}
思考:
(int num1, int num2):这是方法的参数列表,表示该方法接收两个整数参数 num1
和 num2
三,2413最小偶倍数
给你一个正整数 n
,返回 2
和 n
的最小公倍数(正整数)。
示例 1:
输入:n = 5 输出:10 解释:5 和 2 的最小公倍数是 10 。
示例 2:
输入:n = 6 输出:6 解释:6 和 2 的最小公倍数是 6 。注意数字会是它自身的倍数。
我的解法:
class Solution {
public int smallestEvenMultiple(int n) {
return n%2==0? n:n*2;
}
}
思考:
方法体:
return n % 2 == 0 ? n : n * 2;
- 条件判断:
n % 2 == 0
用于检查n
是否为偶数。 - 三元运算符:
- 如果
n
是偶数,返回n
本身。 - 如果
n
是奇数,返回n * 2
(即n
的下一个偶数)
- 如果
四,2160拆分数位后四位数字的最小和
给你一个四位 正 整数 num
。请你使用 num
中的 数位 ,将 num
拆成两个新的整数 new1
和 new2
。new1
和 new2
中可以有 前导 0 ,且 num
中 所有 数位都必须使用。
- 比方说,给你
num = 2932
,你拥有的数位包括:两个2
,一个9
和一个3
。一些可能的[new1, new2]
数对为[22, 93]
,[23, 92]
,[223, 9]
和[2, 329]
。
请你返回可以得到的 new1
和 new2
的 最小 和。
示例 1:
输入:num = 2932 输出:52 解释:可行的 [new1, new2] 数对为 [29, 23] ,[223, 9] 等等。 最小和为数对 [29, 23] 的和:29 + 23 = 52 。
示例 2:
输入:num = 4009 输出:13 解释:可行的 [new1, new2] 数对为 [0, 49] ,[490, 0] 等等。 最小和为数对 [4, 9] 的和:4 + 9 = 13 。
我的解法:
class Solution {
public int minimumSum(int num) {
int[] arr = new int[4];
for(int i = 0;i<4;i++){
arr[i]=num%10;
num/=10;
}
Arrays.sort(arr);
int nums1 = arr[0]*10 +arr[3];
int nums2 = arr[1]*10 +arr[2];
return nums1 + nums2;
}
}
思考:
Arrays.sort(arr);
的意思是对名为 arr
的数组进行排序。具体来说,这行代码会将数组 arr
中的元素按升序排列。
将四位数字按大小排序后,取更小的数字做为十位上的数字,再将两个两位数相加,可得到答案最小值。
巧用for循环逐次分离出四位数字。