LeetCode_单周赛_327
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
先求出来各自不同字母的数量,还有字母映射到数组中
遍历两个哈希数组,交换字母判断即可
- 如果当前不存在该字母,跳过此次循环
- 如果两个字符串有相同字母,并且 不同字母数相同,返回 true
- 交换两个字符,判断两字符串不同字母个数是否相同即可
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;
}
}
LeetCode_单周赛_327的更多相关文章
- 算法5: LeetCode_单链表_两数相加
题目: * 给你两个 非空 的链表,表示两个非负的整数.它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字. * 请你将两个数相加,并以相同形式返回一个表示和的链表. * 你可 ...
- Leetcode 第133场周赛解题报告
今天参加了leetcode的周赛,算法比赛,要求速度比较快.有思路就立马启动,不会纠结是否有更好的方法或代码可读性.只要在算法复杂度数量级内,基本上是怎么实现快速就怎么来了. 比赛时先看的第二题,一看 ...
- 【Leetcode周赛】从contest-111开始。(一般是10个contest写一篇文章)
Contest 111 (题号941-944)(2019年1月19日,补充题解,主要是943题) 链接:https://leetcode.com/contest/weekly-contest-111 ...
- H5单页面手势滑屏切换原理
H5单页面手势滑屏切换是采用HTML5 触摸事件(Touch) 和 CSS3动画(Transform,Transition)来实现的,效果图如下所示,本文简单说一下其实现原理和主要思路. 1.实现原理 ...
- 快速构建H5单页面切换骨架
在Web App和Hybrid App横行的时代,为了拥有更好的用户体验,单页面应用顺势而生,单页面应用简称`SPA`,即Single Page Application,就是只有一个HTML页面的应用 ...
- ASP.NET Aries 入门开发教程9:业务表单的开发
前言: 经过前面那么多篇的列表的介绍,终于到了大伙期待的表单开发了. 也是本系列的最后一篇文章了! 1:表单页面的权限设置与继承 对于表单页面,权限的设置有两种: 1:你可以选择添加菜单(设置为不显示 ...
- 【CSS进阶】伪元素的妙用--单标签之美
最近在研读 <CSS SECRET>(CSS揭秘)这本大作,对 CSS 有了更深层次的理解,折腾了下面这个项目: CSS3奇思妙想 -- Demo (请用 Chrome 浏览器打开,非常值 ...
- bootstrap + requireJS+ director+ knockout + web API = 一个时髦的单页程序
也许单页程序(Single Page Application)并不是什么时髦的玩意,像Gmail在很早之前就已经在使用这种模式.通常的说法是它通过避免页面刷新大大提高了网站的响应性,像操作桌面应用程序 ...
- 探索ASP.NET MVC5系列之~~~3.视图篇(下)---包含常用表单和暴力解猜防御
其实任何资料里面的任何知识点都无所谓,都是不重要的,重要的是学习方法,自行摸索的过程(不妥之处欢迎指正) 汇总:http://www.cnblogs.com/dunitian/p/4822808.ht ...
- SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=》提升)
SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=>提升,5个Demo贯彻全篇,感兴趣的玩才是真的学) 官方demo:http://www.asp.net/si ...
随机推荐
- 发布 .NET 7 MAUI / MAUI Blazor 应用到 Windows 应用商店
.NET MAUI 目前仅允许发布 MSIX 包. 创建签名证书发布到本地传送门 [https://www.cnblogs.com/densen2014/p/16567384.html] 使用 Vis ...
- MongoDB - 入门指南
组件结构 核心进程 在 MongoDB 中,核心进程主要包含了 mongod.mongos 和 mongosh 三个. 其中最主要的是 mongod 程序,其在不同的部署方案中(单机部署.副本集部署. ...
- Linux内存泄露案例分析和内存管理分享
作者:李遵举 一.问题 近期我们运维同事接到线上LB(负载均衡)服务内存报警,运维同事反馈说LB集群有部分机器的内存使用率超过80%,有的甚至超过90%,而且内存使用率还再不停的增长.接到内存报警的消 ...
- 单例模式实现的多种方式、pickle序列化模块、选课系统需求分析等
目录 单例模式实现的多种方式 方式一: 方式二: 方式三 方式四 pickle序列化模块 选课系统需求分析 功能提炼 选课系统架构设计 三层架构 选课系统目录搭建 选课系统功能搭建 单例模式实现的多种 ...
- c#对接每人计平台获取数据
使用c#对接到晓舟科技的客流统计设备.那么需要先注册一个平台的账号 地址:http://mrd.meirenji.cn/login;JSESSIONID=323cbd18-29ed-4232-8c04 ...
- github访问慢怎么办
前言 访问github网速老不好?老掉线?下载贼慢?或许这篇笔记可以帮助你! Github访问慢的根本原因其实是CDN内容分发受到DNS污染,无法连接使用igithub的加速分发服务器,所以国内访问时 ...
- vivo浏览器的神奇操作
关闭 root 权限也就罢了,你还搞这种操作 看到那个源文件了吗? 只有点击源文件下载的才是 官方提供的安装包, 而你首先看到的下载,点击后会下载vivo 应用商店的安装包. 那么这两种安装包有什么区 ...
- 使用Python实现多线程、多进程、异步IO的socket通信
多线程实现socket通信服务器端代码 import socket import threading class MyServer(object): def __init__(self): # 初始化 ...
- windows安装grunt时提示不是内部或外部命令解决方案
参考:https://www.cnblogs.com/hts-technology/p/8477258.html 安装windows安装elasticsearch-head时 不需要输入grunt s ...
- Java程序员除了做增删改查还能干嘛?
就以Java后端开发为例,说说不同级别程序员干的事情. 1 初级开发,大概是有3年Java开发经验. 22年底,上海,这批程序员如果学历是本科,薪资一般是8k到2w,当然如果能进好公司或互联网大厂,薪 ...