当前位置: 首页 > 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;一定不要先点击广告变现&…...

告别Moom!用Hammerspoon实现Mac窗口精准控制(附完整快捷键表+配置文件)

用Hammerspoon打造Mac高效工作流&#xff1a;从窗口管理到自动化脚本 每次看到同事花十几秒拖动窗口调整大小&#xff0c;或者在不同显示器间来回切换应用时&#xff0c;我总忍不住想分享这个改变我工作效率的神器。Hammerspoon——这个完全免费的开源工具&#xff0c;让我彻底…...

STM32串口环形队列实现与优化

## 1. STM32串口环形队列实现方案### 1.1 环形队列数据结构设计环形队列&#xff08;Ring Buffer&#xff09;是嵌入式系统中处理串口数据流的经典方案&#xff0c;其核心数据结构定义如下&#xff1a;c #define RING_BUFF_SIZE 256 // 根据实际需求调整缓冲区大小typedef str…...

OpenClaw自动化报告:Qwen3.5-4B-Claude周报生成与邮件发送

OpenClaw自动化报告&#xff1a;Qwen3.5-4B-Claude周报生成与邮件发送 1. 为什么选择OpenClaw处理周报任务 每周五下午&#xff0c;我都会面临同样的困扰——需要从零散的会议记录、Git提交和即时通讯对话中提取关键信息&#xff0c;整理成一份结构清晰的周报。这个耗时1-2小…...

DownKyi如何成为B站视频下载的智能管家?8K高清+批量处理全解析

DownKyi如何成为B站视频下载的智能管家&#xff1f;8K高清批量处理全解析 【免费下载链接】downkyi 哔哩下载姬downkyi&#xff0c;哔哩哔哩网站视频下载工具&#xff0c;支持批量下载&#xff0c;支持8K、HDR、杜比视界&#xff0c;提供工具箱&#xff08;音视频提取、去水印等…...

R200系列超高频读写器:从指令集到实战的物联网资产管理开发指南

1. R200系列读写器&#xff1a;物联网资产管理的利器 第一次接触R200系列读写器时&#xff0c;我就被它的多标签识读能力惊艳到了。这款超高频&#xff08;UHF&#xff09;读写器不仅支持840MHz~960MHz频段&#xff0c;还能在30米范围内同时读取上百张RFID标签&#xff0c;这简…...

半导体制冷片温控实战:H桥PWM驱动电路设计与单片机PID参数整定避坑指南

半导体制冷片温控实战&#xff1a;H桥PWM驱动电路设计与单片机PID参数整定避坑指南 在DIY恒温装置或小型冷热台时&#xff0c;半导体制冷片&#xff08;帕尔贴&#xff09;因其紧凑结构和快速温变特性成为理想选择。但真正实现0.5℃级别的精准温控&#xff0c;需要跨越硬件驱动…...

基于SpringBoot+Vue的招生宣传管理系统管理系统设计与实现【Java+MySQL+MyBatis完整源码】

&#x1f4a1;实话实说&#xff1a;用最专业的技术、最实惠的价格、最真诚的态度服务大家。无论最终合作与否&#xff0c;咱们都是朋友&#xff0c;能帮的地方我绝不含糊。买卖不成仁义在&#xff0c;这就是我的做人原则。摘要 随着教育信息化的快速发展&#xff0c;高校招生宣…...

MSE、MAE、Binary/Categorical Cross-Entropy、HingeLoss五种损失函数的典型应用场景

目录第一类&#xff1a;回归任务&#xff08;预测具体数值&#xff09;&#x1f453;1. MSE (均方误差) —— 重罚离群点&#x1f453;2. MAE (平均绝对误差) —— 鲁棒性强第二类&#xff1a;分类任务&#xff08;判断属于哪一类&#xff09;&#x1f453;3. Binary Cross-Ent…...

告别重复造轮子:用Matlab封装你的PyTorch模型,打造一个可复用的预测函数

工程化实践&#xff1a;将PyTorch模型封装为Matlab可复用预测模块 在工业仿真和科研计算领域&#xff0c;Matlab因其强大的矩阵运算能力和丰富的工具箱而广受欢迎。然而&#xff0c;当我们需要将训练好的PyTorch深度学习模型集成到现有Matlab工作流时&#xff0c;往往会遇到接…...

如何修复 n8n Postgres 节点中的“节点未设置任何凭据”错误:一篇真正能照着操作的排障博客

如果你在用 n8n 连 Postgres 的时候&#xff0c;突然看到一句让人有点懵的报错&#xff1a;Node has no credentials set 或者中文界面里类似&#xff1a;节点未设置任何凭据先别慌。这个报错看起来像系统在跟你打哑谜&#xff0c;但它的真实意思其实非常朴素&#xff1a; 这个…...