Leetcode—2670. 找出不同元素数目差数组【简单】

news2024/11/20 3:37:47

2024每日刷题(一零七)

Leetcode—2670. 找出不同元素数目差数组

在这里插入图片描述

哈希表实现代码

class Solution {
public:
    vector<int> distinctDifferenceArray(vector<int>& nums) {
        unordered_set<int> s;
        int n = nums.size();
        vector<int> diff(n + 1);
        for(int i = n - 1; i >= 0; i--) {
            s.insert(nums[i]);
            diff[i] = s.size();
        }
        s.clear();
        vector<int> ans(n);
        for(int i = 0; i < n; i++) {
            s.insert(nums[i]);
            ans[i] = s.size() - diff[i + 1];
        }
        return ans;
    }
};

运行结果

在这里插入图片描述

数组法实现代码

class Solution {
public:
    vector<int> distinctDifferenceArray(vector<int>& nums) {
        int n = nums.size();
        constexpr int maxNum = 50;
        vector<int> ans;
        vector<int> prefix(maxNum + 1);
        vector<int> suffix(maxNum + 1);
        int prefixNum = 0, suffixNum = 0;
        for(const int num: nums) {
            // 记录不同元素的个数
            if(++suffix[num] == 1) {
                suffixNum++;
            }
        }
        for(const int num: nums) {
            // 记录不同元素个数的前缀
            if(++prefix[num] == 1) {
                prefixNum++;
            }
            // 记录不同元素个数的后缀
            if(--suffix[num] == 0) {
                suffixNum--;
            }
            ans.push_back(prefixNum - suffixNum);
        }
        return ans;
    }
};

运行结果

在这里插入图片描述
之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

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

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

相关文章

跨越视觉-语言界限:BLIP的多任务精细处理策略

BLIP 核心思想MED架构和CapFilt方法效果 总结CLIP模型 VS BLIP模型CLIP模型BLIP模型 核心思想 论文&#xff1a;https://proceedings.mlr.press/v162/li22n/li22n.pdf 代码&#xff1a;https://github.com/salesforce/BLIP BLIP&#xff08;Bootstrapping Language-Image Pre…

重生奇迹MU如何挂机

1、重生奇迹MU觉醒哪里挂机经验多挂机收益最大化&#xff0c;在重生奇迹MU中玩家可以通过副本获得大量的经验和金币&#xff0c;甚至挂机也有不错的收益&#xff0c;对于玩家来说 2、卡利玛神庙、血色城堡、迷失之城、恶魔广场甚至是挂机自动刷怪&#xff0c;组队都会有经验加…

linux安装naocs

一.安装jdk 二.安装nacos 1.下载nacos Releases alibaba/nacos GitHub 2.上传到服务器 3.解压nacos tar -zxvf nacos-server-2.3.0.tar.gz 会生成一个nacos文件夹 4.启动nacos 进入nacos/bin目录 cd nacos/bin 启动 ./startup.sh -m standalone 5.访问 http://…

【网络安全】2024年暗网威胁分析及发展预测

暗网因其非法活动而臭名昭著&#xff0c;现已发展成为一个用于各种非法目的的地下网络市场。 它是网络犯罪分子的中心&#xff0c;为被盗数据交易、黑客服务和邪恶活动合作提供了机会。为了帮助企业组织更好地了解暗网发展形势&#xff0c;近日&#xff0c;卡巴斯基的安全研究…

HarmonyOS远程真机调试方法

生成密钥库文件 打开DevEco Studio&#xff0c;点击菜单栏上的build&#xff0c; 填一些信息点击&#xff0c;没有key的话点击new一个新的key。 生成profile文件 AppGallery Connect (huawei.com) 进入该链接网站&#xff0c;点击用户与访问将刚生成的csr证书提交上去其中需…

每日学习笔记R2

【欧洲开发水面无人作战平台】 欧洲10个国家的23个企业联合开展“欧洲卫士”项目&#xff0c;目的是为欧洲多国海军开发一款配备远程控制系统的模块化水面无人作战潜艇。||项目成立的目的 该项目旨在通过提升作战平台和武器系统的先进化水平&#xff0c;满足欧盟各国海军日益…

DevOps落地笔记-15|混沌工程:通过问题注入提高系统可靠性

上一课时介绍了通过搭建一套部署流水线&#xff0c;高效、可靠的将软件部署到测试环境以及生产环境。到目前为止&#xff0c;我们学习了从用户需求到软件部署到生产环境交付给用户的全过程。随着软件工程不断发展&#xff0c;近几年&#xff0c;出现了一种新的实践&#xff0c;…

【240113】东北石油大学—调剂信息

东北石油大学 学校层级&#xff1a;双非 调剂专业&#xff1a;0857专业&#xff08;接收0854专业考生&#xff09; 发布时间&#xff1a;2024.1.13 发布来源&#xff1a;网络发布 背景&#xff1a;学习地点: 黑龙江省大庆市 (地处东北&#xff0c;冬季寒冷&#xff0c;需提…

springAop讲解

写在前面 本文旨在帮助入门和了解aop的概念以及基本用法&#xff0c;如有错误请在评论区指出&#xff0c;万分感谢。 部分资料出自尚硅谷课堂笔记,改内容更好&#xff0c;更完善。依赖准备 使用aop编程的话&#xff0c;我们需要先导入需要的依赖 spring-context: 包含Spring…

随记-Java项目处理SQL注入问题

现象&#xff1a;http://10.xx.xx.xx:xx/services/xxService 存在SQL注入情况 加固意见&#xff1a; 需要对网站所有参数中提交的数据进行过滤&#xff0c;禁止输入“"、"xor"、"or"、”--“、”#“、”select“、”and“等特殊字符&#xff1b;所有…

【LongChain-03】在本地运行LLM的另一些案例

​ 一、使用案例说明 PrivateGPT、 llama.cpp和 GPT4All等项目的流行 强调了在本地&#xff08;在您自己的设备上&#xff09;运行 LLM 的需求。 这至少有两个重要的好处&#xff1a; Privacy&#xff1a;您的数据不会发送给第三方&#xff0c;并且不受商业服务的服务条款的约…

复旦大学NLP团队发布86页大模型Agent综述

复旦大学自然语言处理团队&#xff08;FudanNLP&#xff09;发布了一篇长达86页的综述论文&#xff0c;探讨了基于大型语言模型的智能代理的现状和未来。该论文从AI Agent的历史出发&#xff0c;全面梳理了基于大型语言模型的智能代理现状&#xff0c;包括LLM-based Agent的背景…

Linux系统安全①iptables防火墙

目录 一.iptables防火墙概述 1.netfilter与iptables &#xff08;1&#xff09;netfilter &#xff08;2&#xff09;iptables 2.iptables防火墙默认规则表、链结构 二.iptables四表五链 1.四表 2.五链 3.总结 三.iptables的配置 1.安装 2.配置方法 &#xff08;1…

React开发必知必会的Hooks

文章目录 前言1、React的组件创建方式2、什么是Hook&#xff1f;3、Hook总的使用规则 一、useState二、useRef三、useEffect四、useLayoutEffect五、useReducer六、useContext七、memo与useMemo、useCallback1、memo2、useMemo3、useCallback4、三者区别 八、useImperativeHand…

C++重新入门-C++数据类型

目录 1.基本的内置类型 2.typedef 声明 3.枚举类型 4.类型转换 使用编程语言进行编程时&#xff0c;需要用到各种变量来存储各种信息。变量保留的是它所存储的值的内存位置。这意味着&#xff0c;当您创建一个变量时&#xff0c;就会在内存中保留一些空间。 您可能需要存储…

网站为什么要用CND?

CDN对于网站来说至关重要&#xff0c;CDN对网站的重要性主要体现在可以提升用户体验、提高网站安全性、减轻服务器负担、提高SEO排名等&#xff0c;还可以为网站节省带宽成本。因此&#xff0c;选择一个性能好、速度快的CDN是很有必要的。 CDN对于现代网站来说是不可或缺的&am…

【算法分析与设计】无重复的最长子串

&#x1f4dd;个人主页&#xff1a;五敷有你 &#x1f525;系列专栏&#xff1a;算法分析与设计 ⛺️稳中求进&#xff0c;晒太阳 题目 给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的 最长子串 的长度。 示例 示例 1: 输入: s "abcabcbb" 输…

redis下载与安装教程(centos下)

文章目录 一&#xff0c;redis下载1.1上传到linux服务器上 二&#xff0c;redis安装2.1 安装依赖2.2 解压包2.3 编译并安装2.4 指定配置启动2.5 设置redis开机自启 一&#xff0c;redis下载 官网&#xff1a; https://redis.io1.1上传到linux服务器上 我用filezila上传到/us…

【前端web入门第四天】02 CSS三大特性+背景图

文章目录: 1. CSS三大特性 1.1继承性 1.2 层叠性 1.3 优先级 1.3.1 优先级1.3.2 优先级-叠加计算规则 2. 背景图 2.1 背景属性2.2 背景图2.3 背景图的平铺方式2.4 背景图位置2.5 背景图缩放2.6 背景图固定2.7 背景复合属性 1. CSS三大特性 1.1继承性 什么是继承性? 子级默…

华大基因PMseq病原微生物高通量基因检测产品耐药数据库持续

23年肺炎支原体感染的患者数量持续上升&#xff0c;与此同时&#xff0c;由肺炎支原体感染引发的住院患者数量也在迅速增加。这就导致近期儿科和发热门诊都处于床位爆满状态。而在疑难危重的肺炎患者中&#xff0c;肺炎支原体的检出率也在不断提高。华大基因PM Online线上数据管…