[LeetCode周赛复盘] 第 344 场周赛20230507

news2024/11/15 17:41:00

[LeetCode周赛复盘] 第 344 场周赛20230507

    • 一、本周周赛总结
    • 6416. 找出不同元素数目差数组
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 6417. 频率跟踪器
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 6418. 有相同颜色的相邻元素数目
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 6419. 使二叉树所有路径值相等的最小代价
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 参考链接

一、本周周赛总结

  • T1 模拟。
  • T2 计数。
  • T3 模拟。
  • T4 dfs。
    在这里插入图片描述

6416. 找出不同元素数目差数组

6416. 找出不同元素数目差数组

1. 题目描述

在这里插入图片描述

2. 思路分析

  • 数据量小,按题意模拟即可。

3. 代码实现

class Solution:
    def distinctDifferenceArray(self, a: List[int]) -> List[int]:
        ans = []
        n = len(a)
        for i in range(n):
            ans.append(len(set(a[:i + 1])) - len(set(a[i + 1:])))
        return ans

6417. 频率跟踪器

6417. 频率跟踪器

1. 题目描述

在这里插入图片描述

2. 思路分析

  • 额外用一个计数器,计数频率即可。

3. 代码实现

class FrequencyTracker:

    def __init__(self):
        self.cnt = Counter()
        self.f = Counter()

    def add(self, a: int) -> None:
        x = self.cnt[a]
        if x > 0:
            self.f[x] -= 1                        
        self.cnt[a] += 1        
        self.f[self.cnt[a]] += 1

    def deleteOne(self, a: int) -> None:
        if self.cnt[a] > 0:            
            self.f[self.cnt[a]] -= 1            
            self.cnt[a] -= 1
            self.f[self.cnt[a]] += 1

    def hasFrequency(self, fr: int) -> bool:
        return self.f[fr] > 0

6418. 有相同颜色的相邻元素数目

6418. 有相同颜色的相邻元素数目

1. 题目描述

在这里插入图片描述

2. 思路分析

  • 直接模拟,看看每次修改的变化量是多少。
  • 为了方便编码,把a前后都加个0。把ans初始化成0。
  • 每次修改,判断和相邻元素的相同性,调整当前值。
    • 若修改的颜色不变,则值不变直接返回。
    • 若修改前的数和相邻相同,则值需要减小1。(注意0不算)
    • 若修改后和相邻数相同,则值增加1。

3. 代码实现

class Solution:
    def colorTheArray(self, n: int, queries: List[List[int]]) -> List[int]:
        a = [0]*(n+2) 
        ans = [0]
        for i,c in queries:
            i += 1
            x = ans[-1]
            if a[i] == c:
                ans.append(x)
                continue 
            if a[i] == a[i-1] != 0:
                x -= 1 
            if a[i] == a[i+1] != 0:
                x -= 1
            if c == a[i-1]:
                x +=1 
            if c == a[i+1]:
                x += 1
            ans.append(x)
            a[i] = c 
        return ans[1:]            

6419. 使二叉树所有路径值相等的最小代价

6419. 使二叉树所有路径值相等的最小代价

1. 题目描述

在这里插入图片描述

2. 思路分析

  • 由于只能增加,因此只能修改更小的那条路径。
  • dfs归的过程中,发现左右两边最大路径不同的话,把小的那边的节点增加。
  • 由于是完全二叉树,不用建图,直接计算左右孩子下标即可。

3. 代码实现

class Solution:
    def minIncrements(self, n: int, cost: List[int]) -> int:
        ans = 0 
        
        def dfs(u):
            if u>n:
                return 0 
            nonlocal ans 
            l = dfs(u*2)
            r = dfs(u*2+1)
            if l > r:
                l,r= r,l
            ans += r - l 
            return r + cost[u-1]
        dfs(1)
        return ans                  

参考链接

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

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

相关文章

MySQL_2 常见列类型与表的基本操作

目录 一、常见列类型(字段类型) 1.数值类型 : 1 整型 2 浮点型 2.文本类型(字符串类型) : 3.二进制类型 : 4.日期类型 : 二、表的基本操作 1.创建表 : 1 基本语法 2 代码演示 2.删除表 : 1 基本语法 2 代码演示 3.修改表…

收藏:不错的质量论述文:《研发效能系列 - 质量与速度能否兼得》

研发效能系列 - 质量与速度能否兼得丨IDCF 引言 我们的时间,应该是用于提高软件质量,还是专注在发布更有价值的功能?这貌似是软件研发中永恒的话题。 到底什么是质量? 质量有什么特质? 质量与速度是什么关系&#…

Actuators + jolokia

Actuators + jolokia Jolokia造成的XXE漏洞 首先我们查看我们当前环境http://x.x.x.x/jolokia/list地址,是否存在reloadByURL这个方法, 这个方法是造成RCE的关键。因为logback组件提供的reloadByURL操作使我们可以从外部URL重新加载日志配置 创建logback.xml和file.dtd文件…

为何要使用MySQL?MySQL和Oracle的区别有什么?

目录 一、为何要使用MySQL?二、MySQL学习路线三、数据库相关概念1、DB,数据库Database。2、DBMS,数据库管理系统Database Management System。3、SQL,结构化查询语言,Structured Query Language。 四、常见的关系型数据…

SpringCloud_Config配置中心和Bus消息总线和Stream消息驱动

文章目录 一、SpringCloudConfig配置中心1、SpringCloudConfig配置中心的概论2、SpringCloudConfig配置中心的gitee仓库搭建3、SpringCloudConfig配置中心服务端的搭建4、SpringCloudConfig配置中心客户端的的搭建5、SpringCloudConfig配置中心客户端动态刷新配置文件 二、Spri…

如何用ChatGPT做品牌联名方案策划?

该场景对应的关键词库(15个): 品牌、个人IP、社交话题、联名策划方案、调研分析、市场影响力、资源互补性、产品体验、传播话题、视觉形象设计、合作职权分配、销售转化、曝光目标、宣发渠道、品牌形象 提问模板(1个)…

Milvus应用开发实战【语义搜索】

美国总统竞选活动即将到来。 现在是回顾拜登政府上任头两年的一些演讲的好时机。 搜索一些演讲记录以了解更多关于白宫迄今为止关于某些主题的信息不是很好吗? 假设我们要搜索演讲的内容。 我们该怎么做? 我们可以使用语义搜索。 语义搜索是目前人工智能…

【谷粒商城之分布式锁Redisson-lock】

本笔记内容为尚硅谷谷粒商城分布式锁Redisson-lock部分 目录 一、分布式锁与本地锁 二、分布式锁实现 使用 RedisTemplate 操作分布式锁 三、Redisson 完成分布式锁 1、简介 2、导入依赖 3、配置 4、使用 1.可重入锁 2.公平锁(Fair Lock) 3…

记录-VUE中常用的4种高级方法

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 1. provide/inject provide/inject 是 Vue.js 中用于跨组件传递数据的一种高级技术,它可以将数据注入到一个组件中,然后让它的所有子孙组件都可以访问到这个数据。通常情况下&a…

DC-8通关详解

信息收集 漏洞发现 找个扫描器扫一下 msf试了几个exp都没用 那么手动找找 发现传参nid出存在sql注入 python sqlmap -u "http://192.168.45.144:80/?nid1" --union-cols1 -D d7db -T users -C name,pass --columns --tables --dump 用john爆密码 admin爆了20分钟没…

为Linux系统添加一块新硬盘,并扩展根目录容量

我的原来ubuntu20.04系统装的时候不是LVM格式的分区, 所以先将新硬盘转成LVM,再将原来的系统dd到新硬盘,从新硬盘的分区启动,之后再将原来的分区转成LVM,在融入进来 1:将新硬盘制作成 LVM分区 我的新硬盘…

Python进阶

1.Json数据格式(用于不同语言的数据交互) 特定格式的字符串 第一种形式的Json ,转换成字典 第二种形式的Json,转换成字典列表 1.1 Python的Json转化 dumps 方法 Python转Json loads 方法 Json转Python 1.2 字典转json 需要…

Studio One6Mac中文免费版数字音乐工作站DAW

无论你是第一次接触数字音乐工作站(DAW),还是第一次尝试 制作属于自己的音乐,Studio One 都能给你非凡的体验!Studio One 6中文版是一款音乐制作软件,通过新的智能模板、直观的拖放工作流、可定制的用户界面…

C# 使用自带的组件PrintPreviewDialog 和 PrintDocument实现打印预览(一)

文章目录 前言相关内容了解打印预览功能1 创建winform工程2 创建要打印的测试数据3 绘制打印页绘制页脚绘制内容PrintPage事件 完整的代码工程小节 前言 有这么个需求:DataTable中有一些数据是需要给显示或直接可以连接打印机进行打印的, 查阅了一下资料…

jenkins共享ci阶段

jenkins共享ci阶段 需求 一个产品包含多个服务,这些服务的流水线都是类似的:制作制品构建并推送镜像构建并推送chart包触发自动部署。我们期望将流水线拆分为ci流水线、cd流水线,ci流水线包含:制作制品构建并推送镜像构建并推送…

蓝牙协议栈之L2CAP使用

目录 前言一、逻辑链路层及自适应协议层(L2CAP)二、常用的L2CAP术语三、L2CAP的工作模式四、L2CAP通道五、L2CAP帧类型六、Fragmentation/Recombination七、Segmentation/Reassembly八、L2CAP MTU九、Controller to Host Flow Control十、总结 前言 本文…

七个值得推荐的物联网分析平台

物联网分析平台是一种软件工具,可以帮助企业收集和分析来自其广泛的物联网设备的数据。企业可以通过物联网收集大量数据,从消费者支出模式到流量使用,物联网数据分析平台在帮助企业获得竞争优势所需的洞察力方面至关重要。 物联网分析平台已…

「2023 最新」 Github、Gitlab Git 工作流「常用」 git 命令、规范以及操作总结

Git commit 规范 关于提交信息的格式,可以遵循以下的规则: feat: 新特性,添加功能fix: 修改 bugrefactor: 代码重构docs: 文档修改style: 代码格式修改test: 测试用例修改chore: 其他修改, 比如构建流程, 依赖管理 Git 基础知识 当我们通过…

Midjourney生成LOGO指南

目录 常见的Logo 宠物店Logo Graphic Logo​ Lettermark Logo​ Geometric Logo​ Mascot Logo​ 增加风格——艺术运动​ 每个产品都有自己的专属名称,也有自己专属的Logo,经过前几篇的学习,我相信你也有了一定的基础,今天…

TiDB实战篇-PD调度常见问题处理方法

常见的问题 调度产生和执行 常见的调度类型 参数调度的速度 调度典型场景 Leader分布不均匀监控 leader分布算法,每一个leader的size作为总和,还有TiKV的剩余空间等等。 可以手动设置权重。 分布不均衡处理 TiKV节点下线速度慢 TiKV下线速度慢解决方法 …