记录一些简单题,但是可以用java里面一些API来解题很优雅
javaclass Solution {
public double average(int[] salary) {
double sum = Arrays.stream(salary).sum();
int min = Arrays.stream(salary).min().getAsInt();
int max = Arrays.stream(salary).max().getAsInt();
return (sum - min - max) / (salary.length - 2);
}
}
优雅,自己对这些还不熟悉,一定要学会!
javaclass Solution {
public String countAndSay(int n) {
String result = "1"; // 初始化结果为第一项
for (int i = 2; i <= n; i++) {
StringBuilder sb = new StringBuilder();
int count = 1; // 计数器,初始化为1
// 遍历前一项的描述字符串
for (int j = 1; j < result.length(); j++) {
// 如果当前字符与前一个字符相同,增加计数器
if (result.charAt(j) == result.charAt(j - 1)) {
count++;
} else {
// 如果当前字符与前一个字符不同,将计数器和字符添加到结果字符串中
sb.append(count).append(result.charAt(j - 1));
// 重置计数器
count = 1;
}
}
// 添加最后一个字符的计数和字符
sb.append(count).append(result.charAt(result.length() - 1));
result = sb.toString(); // 更新结果字符串
}
return result;
}
}
递归
class Solution {
public String countAndSay(int n) {
// 递归终止条件
if (n == 1) {
return "1";
}
// 递归调用,获取前一项的描述
String prev = countAndSay(n - 1);
StringBuilder sb = new StringBuilder();
int count = 1; // 计数器,初始化为1
// 遍历前一项的描述字符串
for (int i = 1; i < prev.length(); i++) {
// 如果当前字符与前一个字符相同,增加计数器
if (prev.charAt(i) == prev.charAt(i - 1)) {
count++;
} else {
// 如果当前字符与前一个字符不同,将计数器和字符添加到结果字符串中
sb.append(count).append(prev.charAt(i - 1));
// 重置计数器
count = 1;
}
}
// 添加最后一个字符的计数和字符
sb.append(count).append(prev.charAt(prev.length() - 1));
return sb.toString();
}
}
javaclass Solution {
public List<String> summaryRanges(int[] nums) {
List<String> result = new ArrayList<>();
if (nums == null || nums.length == 0) {
return result;
}
int start = nums[0];
for (int i = 1; i <= nums.length; i++) {
// 如果当前数字与前一个数字不连续,或者已经到达数组末尾
if (i == nums.length || nums[i] != nums[i - 1] + 1) {
// 如果区间范围只有一个数字,直接添加该数字
if (start == nums[i - 1]) {
result.add(String.valueOf(start));
} else {
// 否则添加区间范围
result.add(start + "->" + nums[i - 1]);
}
// 更新区间范围的起始点
if (i < nums.length) {
start = nums[i];
}
}
}
return result;
}
}
本文作者:yowayimono
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!