携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第5天,点击查看活动详情
痛苦周一,而且周日的周赛题报名了没做,可以说是血亏
生成每种字符都是奇数个的字符串
该题出自力扣的1374题 —— 生成每种字符都是奇数个的字符串【简单题】
审题
给你一个整数 n,请你返回一个含 n 个字符的字符串,其中每种字符在该字符串中都恰好出现 奇数次 。
返回的字符串必须只含小写英文字母。如果存在多个满足题目要求的字符串,则返回其中任意一个即可。
- 该题并不复杂,就是根据给出的整数n,返回n个字符串,且都是奇数 + 小写字母
- 抛开问题,直至本质,那就直接用"a"和"b"两个字符,并根据奇偶数去实现插入即可
- 除了传统的for循环 + StringBuilder 去实现重复字符串以外,还可以使用jdk11的String.reaet方法
编码
class Solution {
public String generateTheString(int n) {
StringBuilder sb = new StringBuilder();
if ((n & 1) == 1){
//奇数
for (int i = 0; i < n; i++) {
sb.append("a");
}
}else {
for (int i = 0; i < n - 1; i++) {
sb.append("a");
}
sb.append("b");
}
return sb.toString();
}
}
使数组中所有元素都等于零
该题出自力扣的6132题 —— 使数组中所有元素都等于0【简单题】,只要题目做得早,双百少不了
审题
给你一个非负整数数组 nums 。在一步操作中,你必须:
- 选出一个正整数 x ,x 需要小于或等于 nums 中 最小 的 非零 元素。
- nums 中的每个正整数都减去 x。
- 返回使 nums 中所有元素都等于 0 需要的 最少 操作数。
- 题意不难,就是返回需要多少次才能把整个数组归零
- 这题并不需要根据每次操作而对数组进行变形
- 相对于数组的多样性数值
- 利用Set的唯一性,最终返回set的长度即可
编码
class Solution {
public int minimumOperations(int[] nums) {
Set<Integer> set = new HashSet<>();
for (int num:nums) {
if (num == 0)continue;
set.add(num);
}
return set.size();
}
}