当前位置: 首页 > news >正文

Java_21 完成一半题目

完成一半题目

有 N 位扣友参加了微软与力扣举办了「以扣会友」线下活动。主办方提供了 2*N 道题目,整型数组 questions 中每个数字对应了每道题目所涉及的知识点类型。 若每位扣友选择不同的一题,请返回被选的 N 道题目至少包含多少种知识点类型。

示例 1:

输入:questions = [2,1,6,2]

输出:1

解释:有 2 位扣友在 4 道题目中选择 2 题。 可选择完成知识点类型为 2 的题目时,此时仅一种知识点类型 因此至少包含 1 种知识点类型。

示例 2:

输入:questions = [1,5,1,3,4,5,2,5,3,3,8,6]

输出:2

解释:有 6 位扣友在 12 道题目中选择题目,需要选择 6 题。 选择完成知识点类型为 3、5 的题目,因此至少包含 2 种知识点类型。

提示:

  • questions.length == 2*n
  • 2 <= questions.length <= 10^5
  • 1 <= questions[i] <= 1000

我的解答

将知识点类型和在2N道题中出现的次数储存在哈希表中,类型为key,次数为value

再将哈希表根据value从大到小排序

根据value的累加和与N比较,大于等于时,看看是第几个value,即可判断知识点的类型

第一次解答错误,因为在存储次数times,下一个知识点类型的times未置1

完整代码,哈希表根据value从大到小排序还是网上借鉴的,还是不太建议用这个思路做吧

Java HashMap按key排序和按value排序的两种简便方法

class Solution {public int halfQuestions(int[] questions) {//将每种类型及其对应出现的次数存到哈希表中HashMap<Integer,Integer> h=new HashMap<Integer,Integer>();int i=0,j=0,times=1;for(i=0;i<questions.length;i++){if(questions[i]==0)continue;for(j=i+1;j<questions.length;j++){if(questions[i]==questions[j]){times=times+1;questions[j]=0;}}h.put(questions[i],times);times=1;}List<HashMap.Entry<Integer, Integer>> list = new ArrayList<HashMap.Entry<Integer, Integer>>(h.entrySet()); //转换为listlist.sort(new Comparator<HashMap.Entry<Integer, Integer>>() {@Overridepublic int compare(HashMap.Entry<Integer, Integer> o1, HashMap.Entry<Integer, Integer> o2) {return o2.getValue().compareTo(o1.getValue());}});int sum=0;for(i=0;i<list.size();i++){sum=sum+list.get(i).getValue();if(sum>=questions.length/2){return i+1;}}return -1;}
}

 

相关文章:

Java_21 完成一半题目

完成一半题目 有 N 位扣友参加了微软与力扣举办了「以扣会友」线下活动。主办方提供了 2*N 道题目&#xff0c;整型数组 questions 中每个数字对应了每道题目所涉及的知识点类型。 若每位扣友选择不同的一题&#xff0c;请返回被选的 N 道题目至少包含多少种知识点类型。 示例…...

【WPF应用21】WPF 中的 TextBox 控件详解与示例

在 Windows Presentation Foundation (WPF) 中&#xff0c;TextBox 控件是一个强大的输入控件&#xff0c;允许用户输入、编辑和选择文本。TextBox 控件在各种应用程序中都非常常见&#xff0c;例如表单、对话框和编辑器。本文将详细介绍 TextBox 控件的功能、使用方法、属性、…...

小程序页面传参?

小程序页面之间传递参数通常可以通过以下几种方式实现&#xff1a; 通过 URL 参数传递&#xff1a;可以在跳转目标页面时&#xff0c;在 URL 中添加参数&#xff0c;目标页面可以通过 options 参数获取传递过来的数据。 // 页面 A wx.navigateTo({url: targetPage?param1value…...

C++list的模拟实现

为了实现list&#xff0c;我们需要实现三个类 一、List的节点类 template<class T> struct ListNode {ListNode(const T& val T()):_pPre(nullptr),_pNext(nullptr),_val(val){}ListNode<T>* _pPre;ListNode<T>* _pNext;T _val; }; 二、List的迭代器…...

Leetcode 187. 重复的DNA序列

DNA序列 由一系列核苷酸组成&#xff0c;缩写为 ‘A’, ‘C’, ‘G’ 和 ‘T’.。 例如&#xff0c;“ACGAATTCCG” 是一个 DNA序列 。 在研究 DNA 时&#xff0c;识别 DNA 中的重复序列非常有用。 给定一个表示 DNA序列 的字符串 s &#xff0c;返回所有在 DNA 分子中出现不…...

都江堰泛计算操作系统(多机)应用方向

1、异构多核芯片 DJYOS是全球唯一支持异构多核的操作系统。当前的系统级芯片&#xff0c;为了适应多样化的用户需求&#xff0c;基本上都采用了异构多核架构。传统操作系统就需要在一个芯片内&#xff0c;运行多种操作系统&#xff0c;开发工作更加复杂&#xff0c;运行协同性低…...

【第十二届“泰迪杯”数据挖掘挑战赛】【2024泰迪杯】B题基于多模态特征融合的图像文本检索—解题全流程(论文更新)

【第十二届“泰迪杯”数据挖掘挑战赛】【2024泰迪杯】B题基于多模态特征融合的图像文本检索更新&#xff08;论文更新&#xff09; ​ 本节主要更新了论文、训练日志的log数据提取&#xff08;Loss、ACC、RK&#xff09;等数据可视化作图的代码 B题交流QQ群&#xff1a; 4583…...

蓝桥杯22年第十三届省赛-统计子矩阵|一维前缀和加双指针

题目链接&#xff1a; 1.统计子矩阵 - 蓝桥云课 (lanqiao.cn) 蓝桥杯2022年第十三届省赛真题-统计子矩阵 - C语言网 (dotcpp.com) 说明&#xff1a; 涉及到子矩阵的时候&#xff0c;一般就跟前缀和相关&#xff0c;可以降维。 先回顾一下最大子矩阵&#xff0c;回忆一下一…...

SaaS 电商设计 (十) 记一次 5000kw 商品数据ES迁移 (详细的集群搭建以及线上灰度过程设计)

目录 一.背景二.技术目标三.技术方案3.1 整体流程3.2 ES 切换前:完成整体新集群的搭建.i:拓扑结构设计ii: 如何选择整体的 **ES** 集群配置. 3.3 **ES** 版本切换中3.3.1 多client版本兼容3.3.2 Router的设计 3.4 ES 切换后3.5 开箱即用 四.总结 专栏系列 -SaaS 电商设计 (一) …...

linux安装Tomcat

linux安装Tomcat 下载地址&#xff1a;https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.87/bin/apache-tomcat-8.5.87.tar.gz 将下载的安装包传到该文件夹 解压安装包 tar -zxvf apache-tomcat-8.5.87.tar.gz 配置环境变量 vim /etc/profile 添加指定文件最下方 expo…...

【机器学习300问】57、机器是如何读得懂文本数据的呢?

你知道的&#xff0c;人工智能的大佬们想方设法的让机器具备人一样的能力&#xff0c;比如读懂文本的能力。既然机器是在模仿人类&#xff0c;那么问题“机器是如何读得懂文本数据的呢&#xff1f;”就可以变成“人是如何读得懂文本数据的呢&#xff1f;” 一、人是如何读得懂…...

了解XSS和CSRF攻击与防御

什么是XSS攻击 XSS&#xff08;Cross-Site Scripting&#xff0c;跨站脚本攻击&#xff09;是一种常见的网络安全漏洞&#xff0c;它允许攻击者在受害者的浏览器上执行恶意脚本。这种攻击通常发生在 web 应用程序中&#xff0c;攻击者通过注入恶意脚本来利用用户对网站的信任&…...

NEO 学习之 MLE(最大似然估计)

文章目录 简单题目MLE 在不同的分布的运用正态分布指数分布均匀分布泊松分布 如何理解 最大似然估计&#xff1f; 就是我们先取出一堆样本&#xff0c;得到一个L( θ \theta θ) 函数&#xff0c;然后的话&#xff0c;这个是关于 θ \theta θ 的一个函数&#xff0c;那么由于存…...

going和Java对比有什么不同

语法风格&#xff1a;Golang 和 Java 的语法风格有很大的不同。Golang 更加简单&#xff0c;语法类似于 C 语言&#xff0c;而 Java 比较复杂&#xff0c;语法类似于 C。 并发&#xff1a;Golang 在并发方面有很大的优势&#xff0c;支持轻量级线程 goroutine 和 channel 通信…...

RabbitMQ面经 手打浓缩版

保证可靠性 生产者 本地事务完成和消息发送同时完成 通过事务消息完成 重写confirm在里面做逻辑处理 确保发送成功&#xff08;不成功就放入到重试队列&#xff09; MQ 打开持久化确保消息不会丢失 消费者 改成手动回应 不重复消费 生产者 保证不重复发送消息 消费者…...

JavaScript引用数据类型

JS总共分为两种数据类型&#xff1a; 1.基本数据类型 2.引用数据类型 基本数据类型在之前的文章中待大家了解过了 今天我们就来了解一下引用数据类型&#xff1a; 首先呢&#xff0c;我们要知道引用数据类型是存储在哪里的&#xff1a;引用数据类型是存放在堆内存中的对象…...

Mac m1 Flink的HelloWorld

首先在官方下载Downloads | Apache Flink 下载好压缩包后解压&#xff0c;得到Flink文件夹 进入&#xff1a;cd flink-1.19.0 ls 查看里面的文件&#xff1a; 执行启动集群 ./bin/start-cluster.sh 输出显示它已经成功地启动了集群&#xff0c;并且正在启动 standalonesessio…...

3.1 Python变量的定义和使用

Python变量的定义和使用 任何编程语言都需要处理数据&#xff0c;比如数字、字符串、字符等&#xff0c;我们可以直接使用数据&#xff0c;也可以将数据保存到变量中&#xff0c;方便以后使用。 变量&#xff08;Variable&#xff09;可以看成一个小箱子&#xff0c;专门用来…...

OceanBase中左外连接和反连接的经验分享

本文作者&#xff1a;张瑞远&#xff0c;曾从事银行、证券数仓设计、开发、优化类工作&#xff0c;现主要从事电信级IT系统及数据库的规划设计、架构设计、运维实施、运维服务、故障处理、性能优化等工作。 持有Orale OCM,MySQL OCP及国产代表数据库认证。 获得的专业技能与认证…...

如何提升公众号搜索量?分享内部运营的5步优化技术!

最近一直有自媒体同行朋友在写关于公众号的内容&#xff0c;很多都说公众号现在没得玩了。其实&#xff0c;在运营自媒体上面&#xff0c;思维不通&#xff0c;技术不到位&#xff0c;哪个平台都不适合你玩。 想要在自媒体上面运营变现&#xff0c;一定不要先点击广告变现&…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂

蛋白质结合剂&#xff08;如抗体、抑制肽&#xff09;在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上&#xff0c;高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术&#xff0c;但这类方法普遍面临资源消耗巨大、研发周期冗长…...

AtCoder 第409​场初级竞赛 A~E题解

A Conflict 【题目链接】 原题链接&#xff1a;A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串&#xff0c;只有在同时为 o 时输出 Yes 并结束程序&#xff0c;否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

python如何将word的doc另存为docx

将 DOCX 文件另存为 DOCX 格式&#xff08;Python 实现&#xff09; 在 Python 中&#xff0c;你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是&#xff0c;.doc 是旧的 Word 格式&#xff0c;而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

【HTML-16】深入理解HTML中的块元素与行内元素

HTML元素根据其显示特性可以分为两大类&#xff1a;块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用&#xff0c;而无需手动一个个创建和运行容器。 Compose文件是一个文本文件&#xff0c;通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

Element Plus 表单(el-form)中关于正整数输入的校验规则

目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入&#xff08;联动&#xff09;2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2

每日一言 今天的每一份坚持&#xff0c;都是在为未来积攒底气。 案例&#xff1a;OLED显示一个A 这边观察到一个点&#xff0c;怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 &#xff1a; 如果代码里信号切换太快&#xff08;比如 SDA 刚变&#xff0c;SCL 立刻变&#…...

重启Eureka集群中的节点,对已经注册的服务有什么影响

先看答案&#xff0c;如果正确地操作&#xff0c;重启Eureka集群中的节点&#xff0c;对已经注册的服务影响非常小&#xff0c;甚至可以做到无感知。 但如果操作不当&#xff0c;可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...