【贪心】一手顺子


/** 贪心:将一个数当成一个组中最小的数,在根据该最小数找其它数。
 *  思路:将hand进行分组,假设hand长度为 n,必须n % groupSize == 0才可以分组,否则返回false,
 *        使用哈希表记录每个数出现的次数,并对数组排序。
 *        遍历数组,假设x为数组中的一个数。将x看成一组中最小的数,然后寻找该组中的其他数。
 *
 *  Map集合中getOrDefault()方法作用:如果map中有该关键字返回对应的value值,没有该关键值返回0.
 * @auther start
 * @create 2024-01-12 13:08
 */
public class L846 {
    public boolean isNStraightHand(int[] hand, int groupSize) {
        int n = hand.length;
        Map<Integer, Integer> map = new HashMap<>();
        if (n % groupSize != 0) return false;
        Arrays.sort(hand);
        for (int x : hand) {
            map.put(x, map.getOrDefault(x, 0) + 1);
        }
        for (int x : hand) {
            //如果x不在哈希表中跳过
            if (!map.containsKey(x)) continue;
            //x在哈希表中,寻找其他数
            for (int j = 0; j < groupSize; j++) {
                int num = x + j;
                //如果其他数不在哈希表中返回false
                if (!map.containsKey(num)) {
                    return false;
                }
                //将该数的次数减去1
                map.put(num, map.get(num) - 1);
                //如果该数为0,移除该关键字。
                if (map.get(num) == 0) {
                    map.remove(num);
                }
            }
        }
        return true;
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/313203.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ffmpeg命令增加headers参数解决http请求ts返回404 not found问题的解决方法:-headers、-an

最近项目上遇到一个问题&#xff0c;用ffmpeg请求录制一个m3u8的实时流成为mp4文件的时候&#xff0c;命令返回404错误&#xff1a; 但是有一个很奇怪的现象&#xff0c;就是ffmpeg请求不到的&#xff0c;VLC却能正常播放&#xff0c;对比一下抓包&#xff1a; 那么既然就差别…

用机器学习方法来预测设备故障

最近做了一个项目&#xff0c;根据设备的状态&#xff0c;来判断设备是否有故障&#xff0c;这里总结一下所用到的数据探索&#xff0c;特征工程以及机器学习模型等方法。考虑到项目数据的敏感性&#xff0c;这里我以网上找到的一个公开数据集UCI Machine Learning Repository作…

基于STM32的温室大棚环境检测及自动浇灌系统设计

需要全部资料请私信我&#xff01; 基于STM32的温室大棚环境检测及自动浇灌系统设计 一、绪论1.1 研究背景及意义1.2 研究内容1.3 功能设计 二、系统方案设计2.1 总体方案设计 三、系统硬件设计3.1 STM32单片机最小系统3.2 环境温度检测电路设计3.3 土壤湿度检测电路设计3.4 光…

FineBI实战项目一(23):订单商品分类词云图分析开发

点击新建组件&#xff0c;创建订单商品分类词云图组件。 选择词云&#xff0c;拖拽catName到颜色和文本&#xff0c;拖拽cat到大小。 将组件拖拽到仪表板。 结果如下&#xff1a;

企业微信forMAC,如何左右翻动预览图片

1、control commandshifd 进入企业微信的debug调试模式 2、按照如下步骤选择 3、重启企业微信

uniapp微信小程序投票系统实战 (SpringBoot2+vue3.2+element plus ) -我参与的投票列表实现

锋哥原创的uniapp微信小程序投票系统实战&#xff1a; uniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )_哔哩哔哩_bilibiliuniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )共计21条视频…

欧洲高性能计算联合企业豪掷2000万欧元采购量子计算机

内容来源&#xff1a;量子前哨&#xff08;ID&#xff1a;Qforepost&#xff09; 编辑丨慕一 编译/排版丨琳梦 深度好文&#xff1a;945字丨8分钟阅读 近日&#xff0c;欧洲高性能计算联合企业&#xff08;EuroHPC JU&#xff09;启动了一项重要计划&#xff0c;旨在显著提…

MOOSE相关滤波跟踪算法(个人学习笔记)

MOOSE 论文标题 “Visual Object Tracking using Adaptive Correlation Filters” 原文地址 用滤波器对目标外观进行建模&#xff0c;并通过卷积操作来执行跟踪。 参考阅读&#xff1a; 目标跟踪经典算法——MOSSE&#xff08;Minimum Output Sum Square Error&#xff09…

电容的基础知识

一、电容单位 电容亦称作“电容量”&#xff0c;是指在给定电位差下的电荷储藏量&#xff0c;记为C&#xff0c;国际单位是法拉&#xff08;F&#xff09;。在国际单位制里&#xff0c;电容的单位是法拉&#xff0c;简称法&#xff0c;符号是F&#xff0c;由于法拉这个单位太大…

Zynq 电源

ZYNQ芯片的电源分PS系统部分和PL逻辑部分&#xff0c;两部分的电源分别是独立工作。PS系统部分的电源和PL逻辑部分的电源都有上电顺序&#xff0c;不正常的上电顺序可能会导致ARM系统和FPGA系统无法正常工作。 PS部分的电源有VCCPINT、VCCPAUX、VCCPLL和PS VCCO。 VCCPINT为PS内…

canvas绘制流动的蚂蚁线(图文示例)

查看专栏目录 canvas示例教程100专栏&#xff0c;提供canvas的基础知识&#xff0c;高级动画&#xff0c;相关应用扩展等信息。canvas作为html的一部分&#xff0c;是图像图标地图可视化的一个重要的基础&#xff0c;学好了canvas&#xff0c;在其他的一些应用上将会起到非常重…

提高iOS App开发效率的方法

引言 随着智能手机的普及&#xff0c;iOS App开发成为越来越受欢迎的技术领域之一。许多人选择开发iOS应用程序来满足市场需求&#xff0c;但是iOS App开发需要掌握一些关键技术和工具&#xff0c;以提高开发效率和质量。本文将介绍一些关键点&#xff0c;可以帮助你进行高效的…

自动化测试框架pytest系列之8个常用的装饰器函数

自动化测试框架pytest系列之基础概念介绍(一)-CSDN博客 自动化测试框架pytest系列之21个命令行参数介绍(二)-CSDN博客 自动化测试框架pytest系列之强大的fixture功能&#xff0c;为什么fixture强大&#xff1f;一文拆解它的功能参数。(三)-CSDN博客 接上文 3.5 pytest的8…

Agisoft Metashape 基于影像的外部点云着色

Agisoft Metashape 基于影像的外部点云着色 文章目录 Agisoft Metashape 基于影像的外部点云着色前言一、添加照片二、对齐照片三、导入外部点云四、为点云着色五、导出彩色点云前言 本教程介绍了在Agisoft Metashape Professional中,将照片中的真实颜色应用于从不同源获取的…

监督学习 - 逻辑回归(Logistic Regression)

什么是机器学习 逻辑回归&#xff08;Logistic Regression&#xff09;虽然名字中包含"回归"一词&#xff0c;但实际上是一种用于解决分类问题的统计学习方法&#xff0c;而不是回归问题。它是一种线性模型&#xff0c;常用于二分类问题&#xff0c;也可以扩展到多分…

【EI会议征稿通知】2024年图像处理与人工智能国际学术会议(ICIPAI2024)

2024年图像处理与人工智能国际学术会议&#xff08;ICIPAI2024&#xff09; 2024 International Conference on Image Processing and Artificial Intelligence&#xff08;ICIPAI2024&#xff09; 2024年图像处理与人工智能国际学术会议&#xff08;ICIPAI2024&#xff09;将…

python 爬虫 生成markdown文档

本文介绍的案例为使用python爬取网页内容并生成markdown文档&#xff0c;首先需要确定你所需要爬取的框架结构&#xff0c;根据网页写出对应的爬取代码 1.分析总网页的结构 我选用的是redis.net.com/order/xxx.html (如:Redis Setnx 命令_只有在 key 不存在时设置 key 的值。…

文件重命名:文件命名错了怎么办,新旧文件名互换的方法

在日常生活和工作中&#xff0c;经常要处理各种文件&#xff0c;会因为疏忽或者误解&#xff0c;给文件起错名字。文件名一旦错误&#xff0c;就可能造成后续的困扰&#xff0c;比如找不到需求的文件、混淆不同的文件等。如果文件命名错了如何更正呢&#xff1f;下面来看云炫文…

【Electron】 Vite项目 初始配置 scss

pnpm add -D sasssrc下面创建 styles/main.scss 文件 mian.ts 内引入 ./styles.scss 文件 import ./styles/main.scss 测试scss是否生效&#xff1a; styles/mian.scss :root{--mian:red; } App.vue <template><div>你好</div> </template><s…

上架苹果APP的时候在哪里填写APP的隐私政策信息

在如今高度重视数据隐私的时代&#xff0c;开发并上架一个iOS APP时提供透明的隐私政策是非常重要的。苹果公司对此有严格的规定&#xff0c;任何上架至App Store的应用都必须包含一个隐私政策。以下是您在上架苹果APP时填写隐私政策信息的详细步骤和必须注意的事项。 准备隐私…