题号:2469.温度转换
描述:给你一个四舍五入到两位小数的非负浮点数 celsius
来表示温度,以 摄氏度(Celsius)为单位。你需要将摄氏度转换为 开氏度(Kelvin)和 华氏度(Fahrenheit),并以数组 ans = [kelvin, fahrenheit]
的形式返回结果。返回数组 ans
。与实际答案误差不超过 10-5
的会视为正确答案。
题解:根据题目给定的公式直接计算即可
示例:
输入:celsius = 36.50
输出:[309.65000,97.70000]
解释:36.50 摄氏度:转换为开氏度是 309.65 ,转换为华氏度是 97.70 。
class Solution {
public double[] convertTemperature(double celsius) {
return new double[]{celsius + 273.15, celsius * 1.80 + 32.00};
}
}
题号:2235.两整数相加
描述:给你两个整数 num1
和 num2
,返回这两个整数的和。
题解:直接返回num1和num2相加后的值
示例:
输入:num1 = 12, num2 = 5
输出:17
解释:num1 是 12,num2 是 5 ,它们的和是 12 + 5 = 17 ,因此返回 17 。
class Solution {
public int sum(int num1, int num2) {
return num1 + num2;
}
}
题号:2413.最小偶倍数
描述:给你一个正整数 n
,返回 2
和 n
的最小公倍数(正整数)
题解:
示例:
输入:n = 5
输出:10
解释:5 和 2 的最小公倍数是 10 。
class Solution {
public int smallestEvenMultiple(int n) {
return n % 2 == 0 ? n : n * 2;
}
}
题号: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
的 最小 和。
题解:根据题意不难判断出答案便是给定值的 (最小位+最大位+次最小位+次最大位)
因此转成数组后调用sort排序,接着组合数字即可
示例:
输入:num = 2932
输出:52
解释:可行的 [new1, new2] 数对为 [29, 23] ,[223, 9] 等等。
最小和为数对 [29, 23] 的和:29 + 23 = 52 。
class Solution {
public int minimumSum(int num) {
//转数组
int [] nums = new int[4];
for (int i = 0; i < 4; i++) {
nums[i] = num % 10;
num /= 10;
}
//实现排序
Arrays.sort(nums);
int result = nums[0]*10+nums[3] + nums[1]*10+nums[2];
return result;
}
}
题号:2520.统计能整除数字的位数
描述:给你一个整数 num
,返回 num
中能整除 num
的数位的数目。如果满足 nums % val == 0
,则认为整数 val
可以整除 nums
题解:
示例:
输入:num = 121
输出:2
解释:121 可以被 1 整除,但无法被 2 整除。由于 1 出现两次,所以返回 2 。
class Solution {
public int countDigits(int num) {
int originalNum = num, ans = 0;
while (num != 0) {
int digit = num % 10; // 获取当前最低位的数字
if (originalNum % digit == 0) { // 检查原始数字是否能被这个最低位数字整除
ans += 1;
}
num /= 10; // 去掉最低位的数字
}
return ans;
}
}