Leetcode 3160. Find the Number of Distinct Colors Among the Balls

  • Leetcode 3160. Find the Number of Distinct Colors Among the Balls
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:3160. Find the Number of Distinct Colors Among the Balls

1. 解题思路

这一题思路上同样比较清晰,我们只需用两个hash table来分别记录每一个位置的颜色以及每一个颜色当前出现的次数,此时,我们即可对每一次操作快速地维护和更新当前的distinct颜色的个数了。

2. 代码实现

给出python代码实现如下:

class Solution:def queryResults(self, limit: int, queries: List[List[int]]) -> List[int]:colors = {}cnt = defaultdict(int)distinct = 0ans = [0 for _ in queries]for i, (idx, c) in enumerate(queries):if idx not in colors:colors[idx] = ccnt[c] += 1if cnt[c] == 1:distinct += 1else:oc = colors[idx]colors[idx] = ccnt[oc] -= 1if cnt[oc] == 0:distinct -= 1cnt[c] += 1if cnt[c] == 1:distinct += 1ans[i] = distinctreturn ans

提交代码评测得到:耗时1148ms,占用内存68.4MB。

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

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

相关文章

Nginx与CDN集成:提升全球访问速度

一、引言 在当今互联网高速发展的时代,用户对于网站访问速度的要求越来越高。为了提升用户体验,许多企业和开发者都在寻求各种方法来优化网站的访问速度。其中,Nginx与CDN(内容分发网络)的集成就是一个非常有效的方法…

社会网络,生态网络,贸易网络,复杂网络边介数蓄意和随机攻击

​边介数(Edge Betweenness) # ” 边介数(Edge Betweenness) 1 边介数(Edge Betweenness) Summer IS HERE 边介数(Edge Betweenness)是一种度量边在网络中重要性的指标。它定义为…

golang float转string并去除末尾的0

写go时遇到一个场景要求将得到的浮点数保留两位小数,同时要去除末尾的0,试了一下 fmt.Sprintf 和 strconv.FormatFloat 都没能一步到位,最后只能先按小数位约分然后再转成字符串来解决这个问题,如果各位有更好的方式请在评论里指教…

Linux dig 命令

dig 命令是一个用于在 Unix/Linux 操作系统中执行 DNS 查询的工具。它是 DNS 客户端,通常用于查询 DNS 服务器的信息,如域名解析、IP 地址查询等。 博主博客 https://blog.uso6.comhttps://blog.csdn.net/dxk539687357 一、常见 DNS 记录类型 类型描述…

OpenStack平台Nova管理

1. 规划节点 使用OpenStack平台节点规划 IP主机名节点192.168.100.10controller控制节点192.168.100.20compute计算节点 2. 基础准备 部署的OpenStack平台 1. Nova运维命令 (1)Nova管理安全组规划 安全组(security group)是…

设计模式八股文

什么是设计模式? 设计模式是软件开发过程中经常遇到的问题的通用解决方案。类似于前人总结的经验,遇到相似问题的时候有个参考。 设计模式七大基本原则? 单一职责:一个类应该只作一件事情。将功能分为小的独立的单元。开放封闭…

CTF之Web_python_block_chain

这种题对于我来说只能看大佬的wp(但是这一题是wp都看不懂,只能表达一下我的理解了) (最后有简单方法,前面一种没看懂没关系) 下面这一部分是首页的有用部分 访问/source_code,得到源码: # -*-…

qt post请求 c++ 解压缩文件

目录 qt post请求 c下载代码: 默认下载保存路径: linux qt调用 unzip进行解压缩 pro文件配置: QT network qt post请求 c下载代码: #include "mainwindow.h" #include "ui_mainwindow.h" #include &…

ffmpeg怎么将vtt文件添加到视频中

FFmpeg 是一个非常强大的多媒体框架,可以用来处理音频、视频以及字幕文件。要将 WebVTT(.vtt)字幕文件添加到视频文件中,你可以使用 ffmpeg 的 subtitles 过滤器。以下是基本的命令格式: ffmpeg -i input_video.mp4 -…

VSCode搭建Markdown编辑环境

1. 本文目标2. 准备工作3. 安装插件4. 插件的用法 4.1. Markdown All in One 4.1.1. 快捷键4.1.2. 创建/更新目录4.1.3. 给标题增加序号 4.2. Markdown Table 4.2.1. 格式化表格4.2.2. 插入表格列 4.3. Markdown PDF VSCode是笔者用过的最好用的开发工具,没有之一…

宁夏银川、山东济南、中国最厉害的改名大师的老师颜廷利教授的前沿思想观点

在当代社会,一个响亮的声音穿越了传统的迷雾,它来自东方哲学的殿堂,由一位现代学者颜廷利教授所发出。他的话语,如同一股清泉,在混沌的世界里激荡着思考的波澜:"有‘智’不在年高,无‘智’…

太空几乎没有阻力,飞船理论上能一直加速,为何还说星际旅行很难

太空几乎没有阻力,飞船理论上能一直加速,为何还说星际旅行很难? 答案 现代科学认为,我们的地球诞生于46亿年前,也就是太阳系诞生初期,在太阳系中一共有八大行星,而地球是唯一一颗诞生了生命的…

起保停电路工作原理

一、电路组成 起保停电路由电源保护设备(空气开关)、交流接触器、启动按钮、停止按钮和用电设备组成。 起保停电路的组成部分通常可分为四个部分: 保护部分:(空气开关)在电流或电压超出一定范围时自动切断…

异步获取线程执行结果,JDK中的Future、Netty中的Future和Promise对比

JDK中的Future和Netty中的Future、Promise的关系 三者源头追溯 Netty中的Future与JDK中的Future同名,但是是两个不同的接口。Netty中的Future继承自JDK的Future,而Promise又对Netty中的Future进行了扩展。 JDK中的Future源自JUC并发包: Net…

电商API接口(api商品数据)【电商商品实时数据采集API接口】

众多品牌选择电商API实时数据采集接口进行采购,主要是出于以下几个重要原因: 第一,高效便捷。比价工具通过自动化的方式获取价格信息,避免了繁琐的人工操作,大大节省了时间和精力。 第二,精准比较。API比价…

如何使用ssh将vscode 连接到服务器上,手把手指导

一、背景 我们在开发时,经常是window上安装一个vscode编辑器,去连接一个虚拟机上的linux,这里常用的是SSH协议,了解其中的操作非常必要。 二、SSH协议 SSH(Secure Shell)是一种安全协议,用于…

redis的基本命令

数据库相关操作 Redis默认 16 个数据库,默认使⽤第 0个 select 0 # 切换数据库 dbsize # 查看数据库⼤⼩ flushall # 清除全部库数据 flushdb # 清空当前库数据 key相关的操作 keys * # 查看所有的key exists key # 判断当前key 是否存在。 expire ke…

C#屏蔽基类成员

可以用与积累成员名称相同的成员来屏蔽 要让编译器知道你在故意屏蔽继承的成员,可以用new修饰符。否则程序可以成功编译,但是编译器会警告你隐藏了一个继承的成员 using System;class someClass {public string F1 "Someclass F1";public v…

React18+TypeScript搭建通用中后台项目实战04 封装常用工具函数

接口请求参数类型 修改 src/api/request.ts 核心代码&#xff1a; // GET 请求 // param url 请求地址 // param params 查询参数 // return 返回Promise对象&#xff0c;内部类型是泛型 function get<T>(url: string, params: object): Promise<T> {return req…

YOLOv10 | 手把手教你利用yolov10训练自己数据集(含环境搭建 + 参数解析 + 数据集查找 + 模型训练、推理、导出)

一、前言 本文内含YOLOv10网络结构图 各个创新模块手撕结构图 训练教程 推理教程 参数解析 环境搭建 数据集获取等一些有关YOLOv10的内容&#xff01; 目录 一、 前言 二、整体网络结构图 三、空间-通道分离下采样 3.1 SCDown介绍 3.2 C2fUIB介绍 3.3 PSA介绍 …