6283. 正整数和负整数的最大计数

代码

直接遍历统计即可

class Solution {
public int maximumCount(int[] nums) {
int a = 0, b = 0;
for (int i = 0; i < nums.length; i++) {
if (nums[i] > 0) a++;
else if (nums[i] < 0) b++;
} return Math.max(a, b);
}
}

6285. 执行 K 次操作后的最大分数

代码

用最大堆即可

ceil是上取整,操作数和返回值都是 double,需要强转,可能会出现浮点错误,所以使用整数运算规避。

ceil(a / b) = (a + b - 1) / b

class Solution {
public long maxKelements(int[] nums, int k) {
PriorityQueue<Integer> pq = new PriorityQueue<>(new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o2 - o1;
}
});
int n = nums.length;
for (int i = 0; i < n; i++) pq.add(nums[i]);
long ans = 0;
while (k-- > 0) {
int t = pq.peek();
pq.poll();
ans += t;
// int q = (int) Math.ceil(t / 3.0);
int q = (t + 2) / 3;
pq.add(q);
} return ans;
}
}

6284. 使字符串总不同字符的数目相等

代码

比赛的时候看错题了,想错了,以为暴力模拟是 1e5 x 1e5,时间不够

其实只模拟 26 个字母即可,复杂度是 26 x 26

先求出来各自不同字母的数量,还有字母映射到数组中

遍历两个哈希数组,交换字母判断即可

  1. 如果当前不存在该字母,跳过此次循环
  2. 如果两个字符串有相同字母,并且 不同字母数相同,返回 true
  3. 交换两个字符,判断两字符串不同字母个数是否相同即可
class Solution {
public boolean isItPossible(String s1, String s2) {
int[] a = new int[26], b = new int[26];
int x = 0, y = 0;
for (int i = 0; i < s1.length(); i++) {
int t = s1.charAt(i) - 'a';
a[t]++;
if (a[t] == 1) x++;
}
for (int i = 0; i < s2.length(); i++) {
int t = s2.charAt(i) - 'a';
b[t]++;
if (b[t] == 1) y++;
}
// System.out.println(x + " " + y + " " + get_count(a) + " " + get_count(b));
for (int i = 0; i < 26; i++) {
if (a[i] == 0) continue;
for (int j = 0; j < 26; j++) {
if (b[j] == 0) continue;
if (i == j) if (x == y) return true;
a[i]--;
a[j]++;
b[i]++;
b[j]--;
if (get_count(a) == get_count(b)) return true;
a[i]++;
a[j]--;
b[i]--;
b[j]++;
}
} return false;
} private int get_count(int[] a) {
int ans = 0;
for (int i = 0; i < 26; i++) {
if (a[i] > 0) ans++;
}
return ans;
}
}

最新文章

  1. 机器学习——支持向量机(SVM)之核函数(kernel)
  2. Hibernate的检索方式
  3. Linux连接Internet
  4. Android的图片缓存ImageCache(转)
  5. three.js加入监控
  6. ssh下:系统初始化实现ServletContextListener接口时,获取spring中数据层对象无效的问题
  7. php 分词 —— PHPAnalysis无组件分词系统
  8. &lt;转&gt;MySql 与Oracle区别
  9. 第一章 :绪论-Twitter数据的收集和处理
  10. 深入理解计算机系统第二版习题解答CSAPP 2.19
  11. C# 将窗口移动到指定位置
  12. 查看Linux下网卡状态或 是否连接
  13. API拾遗录之Fragment
  14. PAT (Advanced Level) 1048. Find Coins (25)
  15. Spring Boot @Async 异步任务执行
  16. TensorFlow中的通信机制——Rendezvous(一)本地传输
  17. What&#39;s the difference between ConcurrentHashMap and Collections.synchronizedMap(Map)?
  18. java常用设计模式二:工厂模式
  19. Redhat6.8安装Oracle11g下遇到两个问题记录
  20. 【Unity】4.6 灯光

热门文章

  1. 不一样的纯H5C3动画爱心
  2. 2022春每日一题:Day 30
  3. 基于python的数学建模---图论模型(Floyd)
  4. 基于python的数学建模---分支定界算法
  5. ifconfig命令的使用
  6. 本地JS文件批量压缩
  7. python-CSV文件的读写
  8. 实践案例:同程艺龙网的 Dubbo 升级经验总结
  9. openpyxl写数据
  10. JavaScript入门⑩-ES6归纳总结