leetcode每日一题2671

news2024/11/17 23:35:49

目录

一.题目原型

二.思路解析:

三.具体代码实现:


一.题目原型

 

二.思路解析:

 其实我们可以用两个哈希表来解决这道题,一个哈希表hash1用来存这个数字出现了几次。另一个哈希表hash2用来存出现了几次的次数有几次,由于题目给的number和frequency都不是很大,我们可以用数组模拟unordered_map.

vector<int> freq;(记录数字出现的次数)

vector<int> freq_cnt;(记录次数的次数)

如果一个数字出现了,那么原来次数的次数就要少一次,原来次数+1的次数就要多一次,freq_cnt[freq[i]]--

接着freq【i】++

刚好使这个数字的次数加一,那么可以直接freq_cnt[freq[i]]++;

如果一个数字要删除,那么原来的次数的次数要少一次,原来次数-1的次数就要多一次;

freq_cnt[freq[i]]--

freq[i]-- ;

freq_cnt[freq[i]]++

三.具体代码实现:

class FrequencyTracker {
public:
    FrequencyTracker():freq(N), freq_cnt(N) {
        
    }

    void add(int number) {
        --freq_cnt[freq[number]];
        ++freq[number];
        ++freq_cnt[freq[number]];
    }
    
    void deleteOne(int number) {
        if (freq[number] == 0) {
            return;
        }
        --freq_cnt[freq[number]];
        --freq[number];
        ++freq_cnt[freq[number]];
    }
    
    bool hasFrequency(int frequency) {
        return freq_cnt[frequency];
    }

private:
    static const int N = 100001;
    vector<int> freq;
    vector<int> freq_cnt;
};

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL的日志:undo log、redo log、binlog有什么作用

目录 从一个update语句说起 undo log 为什么需要undo log undo log 版本链 undo log 是如何持久化到磁盘? redo log 为什么需要redo log redo的组成 redo Log的刷盘策略 redo Log循环写 crash-safe能力 binlog 为什么需要 binlog &#xff1f; binlog与redo lo…

unity学习(69)——多人位置同步

简单的很&#xff0c;每个客户端向服务器发送位置信息&#xff0c;服务器再把这些位置信息发送给其他客户端。 1.客户端发送。 1.1在SocketModel脚本中添加一个新的类MoveDTO public class MoveDTO {public string Id{get; set;}public int Dir{get;set;}public Assets.Mode…

数据分析和机器学习库Pandas的使用

Pandas 库是一个免费、开源的第三方 Python 库&#xff0c;是 Python 数据分析和机器学习的工具之一。Pandas 提供了两种数据结构&#xff0c;分别是 Series&#xff08;一维数组结构&#xff09;与 DataFrame&#xff08;二维数组结构&#xff09;&#xff0c;极大地增强的了 …

2024-Spring IOC 和 AOP源码分析(上篇)

前言&#xff1a;笔者最近面了几次大厂。。。开局Spring源码暴击 之前看过忘了写篇总结。。。 1、介绍一下Spring 核心组件&#xff1a; 常用模块&#xff1a; 常用注解&#xff1a; 2、说一下SpringIOC原理 概念&#xff1a;Spring 通过一个配置文件描述 Bean 及 Bean …

登录校验:JWT令牌、Filter、Interceptor

JWT&#xff1a; 全称&#xff1a;JSON Web Token 定义了一种简洁的、自包含的格式&#xff0c;用于在通信双方以json数据格式安全的传输信息&#xff0c;由于数字签名的存在&#xff0c;这些信息是可靠的。 组成&#xff1a; Header(头部)&#xff1a;&#xff08;“alg&q…

基于物理的实时渲染 -- PBR

简介 PBR&#xff0c;或者用更通俗一些的称呼是指基于物理的渲染(Physically Based Rendering)&#xff0c;它指的是一些在不同程度上都基于与现实世界的物理原理更相符的基本理论所构成的渲染技术的集合。正因为基于物理的渲染目的便是为了使用一种更符合物理学规律的方式来模…

如何申请代码签名证书

代码签名证书也是数字证书的一种&#xff0c;其主要作用是对可执行脚本、软件代码和内容进行数字签名的数字证书。代码签名证书用于验证开发者身份真实性、保护代码的完整性。用户下载软件时&#xff0c;能通过数字签名验证软件来源&#xff0c;确认软件、代码没有被非法篡改或…

2024 年广西职业院校技能大赛高职组《云计算应用》赛项赛题第 1 套

#需要资源或有问题的&#xff0c;可私博主&#xff01;&#xff01;&#xff01; #需要资源或有问题的&#xff0c;可私博主&#xff01;&#xff01;&#xff01; #需要资源或有问题的&#xff0c;可私博主&#xff01;&#xff01;&#xff01; 某企业根据自身业务需求&#…

数据结构和算法:树

二叉树 与链表类似&#xff0c;二叉树的基本单元是节点&#xff0c;每个节点包含值、左子节点引用和右子节点引用。 /* 二叉树节点结构体 */ struct TreeNode {int val; // 节点值TreeNode *left; // 左子节点指针TreeNode *right; // 右子节点指针TreeNode(int x) : val(x),…

项目管理证书有何用?这些PMP考试机会一定要抓住

项目管理证书有何用&#xff1f;这些PMP考试机会一定要抓住&#xff01; PMP认证的中文全称是“项目管理专业人士资格认证”&#xff0c;是目前国际上声誉较高并且含金量比较高的项目管理证书之一&#xff0c;本人有幸考过&#xff0c;也通过PMP认证成功转岗&#xff0c;应该也…

每日一题 --- 反转链表[力扣][Go]

反转链表 题目&#xff1a;206. 反转链表 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,2,1]示例 2&#xff1a; 输入&#xff1a;head [1,2] 输出&a…

mybatis实践篇(二)

自定义类型处理器&#xff08;TypeHandler&#xff09; 实体 package com.wyl.mybatis.entity;import java.util.Date;/*** Description 省市区-字典* Author wuyilong* Date 2024-02-26*/public class FullCity {private static final long serialVersionUID 1L;/*** 主键I…

python之(19)CPU性能分析常见工具

Python之(19)CPU性能分析常见工具 Author: Once Day Date: 2024年3月24日 一位热衷于Linux学习和开发的菜鸟&#xff0c;试图谱写一场冒险之旅&#xff0c;也许终点只是一场白日梦… 漫漫长路&#xff0c;有人对你微笑过嘛… 全系列文章可参考专栏:Python开发_Once-Day的博客…

车载测试 UDS诊断 CANoe使用(线下实操项目)

本周末2天的时间&#xff0c;可以线下带大家对车载项目&#xff1a; uds诊断进行实操训练和CANoe工具的灵活使用 本博主从事新能源汽车的研发部&#xff0c;主要是嵌入式方面的&#xff0c;对车载测试的底层逻辑非常熟悉。 需要项目或者CANoe工具实操的可以关注并私信我

【数据结构和算法初阶(C语言)】二叉树的链式结构--前、中、后序遍历实现详解,节点数目计算及oj题目详解---二叉树学习日记③

1.二叉树的链式存储 二叉树的链式存储结构是指&#xff0c;用链表来表示一棵二叉树&#xff0c;即用链来指示元素的逻辑关系。 通常的方法是 链表中每个结点由三个域组成&#xff0c;数据域和左右指针域&#xff0c;左右指针分别用来给出该结点左孩子和右孩子所 在的链结点的存…

[自研开源] MyData v0.7.5 更新日志

开源地址&#xff1a;gitee | github 详细介绍&#xff1a;MyData 基于 Web API 的数据集成平台 部署文档&#xff1a;用 Docker 部署 MyData 使用手册&#xff1a;MyData 使用手册 试用体验&#xff1a;https://demo.mydata.work 交流Q群&#xff1a;430089673 介绍 MyData …

(ES6)前端八股文修炼Day2

1. let const var 的区别 var&#xff1a; var 是在 ES5 中引入的声明变量的关键字。 具有函数作用域&#xff0c;而不是块作用域&#xff0c;这意味着使用 var 声明的变量在函数内部是可见的。 变量可以被重复声明&#xff0c;而且变量的值可以在声明前使用&#xff0c;这可能…

一文带你看懂甘特图,项目进度、资源分配清清楚楚

带大家看懂一个甘特图&#xff0c;我们打开一个zz-plan 的甘特图&#xff0c;左边是任务栏&#xff0c;右边是进度条&#xff0c;上面这个是时间&#xff0c;下面是一个整个项目的一个状态&#xff0c;任务、工时、周期和进度。 这一列颜色灰色的表示是当天&#xff0c;我们从…

Linux常用命令和基础命令合集---非常推荐

非常好用的Linux通用基础常用命令和高级命令。 下载链接&#xff1a;https://download.csdn.net/download/lishihuijava/89026399

2024腾讯云服务器2核4G、4核8G、8核16G配置最新收费标准

腾讯云服务器多少钱一年&#xff1f;61元一年起。2024年最新腾讯云服务器优惠价格表&#xff0c;腾讯云轻量2核2G3M服务器61元一年、2核2G4M服务器99元一年可买三年、2核4G5M服务器165元一年、3年756元、轻量4核8M12M服务器646元15个月、4核16G10M配置32元1个月、312元一年、8核…