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 ...
随机推荐
- EventBridge助力阿里云视觉智能开放平台AI智能存储实践
本文作者:李建,阿里巴巴达摩院技术专家. 01 视觉智能开放平台(VIAPI)业务场景介绍 阿里云视觉智能开放平台(简称 VIAPI),是基于之前很多技术实践经验积累的 AI 能力的沉淀平台.目前整个 ...
- 2022春每日一题:Day 13
题目:后缀排序 什么是后缀数组?他主要包含两个数组:sa和rk. 其中sa[i]表示将字符串后缀排序后第i小的编号,rk[i]表示后缀i的排名. 显然sa[rk[i]]=i,rk[sa[i]]=i. ...
- ThinkPHP 6.0 RC2 版本发布——架构升级、精简核心
自从5.2版本变更为6.0以来,官方一直致力于优化架构和精简核心,同时也在准备手册和测试工作,在经过近1个月的开发迭代后,官方宣布发布ThinkPHP6.0RC2版本. 主要更新 相比较RC1版本更新 ...
- Training: ASCII
题目链接:http://www.wechall.net/challenge/training/encodings/ascii/index.php 让我们使用标准的美国信息交换编码格式解下面的ASCLL ...
- 关于windows7打不开hlp文件的解决方法
前言 其实也不是打不开,而是打开后是这样的. 也就是相当于打不开. 解决方案 安装对应架构版本补丁,重启电脑即可. 下载地址 包含64位和32位. 有能力的还望下载这个 下载地址 给我留点积分,感谢!
- java 常用的jar包下载地址
Eclipse: http://www.eclipse.org/downloads/packages/all Spring: http://Framework: http://repo.spring. ...
- Datawhale组队学习_Task01:概览西瓜书+南瓜书第1、2章
第一章 绪论 1.1引言 打开书,五分钟后,合上书:嗯!学会了!如何判断一个好瓜 1.2基本术语 分类:对离散值进行预测的学习任务,是有监督学习的代表 回归:对连续值进行预测的学习任务,是有监督学习的 ...
- MybatisPlus多表连接查询一对多分页查询数据
一.序言 在日常一线开发过程中,多表连接查询不可或缺,基于MybatisPlus多表连接查询究竟该如何实现,本文将带你找到答案. 在多表连接查询中,既有查询单条记录的情况,又有列表查询,还有分页查询, ...
- js拓展-Dom与事件,字符串,数组方法,object对象,作用域
js-扩展-Dom与事件 ```text # dom 文档对象模型,document object model ### 获取dom(js中的选择器) js let list=document.getE ...
- python 中文分词工具
python 中文分词工具 jieba,https://github.com/fxsjy/jieba jieba_fast,https://github.com/deepcs233/jieba_fas ...