[LeetCode周赛复盘] 第 93 场双周赛20221015-补

news2024/11/18 11:36:57

[LeetCode周赛复盘] 第 93 场双周赛20221015-补

    • 一、本周周赛总结
    • 二、 [Easy] 6261. 数组中字符串的最大值
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 三、[Medium] 6262. 图中最大星和
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 四、[Medium] 6263. 青蛙过河 II
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 五、[Hard] 6264. 让数组不相等的最小总代价
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 六、参考链接

一、本周周赛总结

  • 双周赛就是难,没打就对了。
  • T1模拟。
  • T2暴力。
  • T3脑筋急转弯。
  • T4贪心。

二、 [Easy] 6261. 数组中字符串的最大值

链接: 6261. 数组中字符串的最大值

1. 题目描述

在这里插入图片描述

2. 思路分析

按题意模拟即可。

3. 代码实现

class Solution:
    def maximumValue(self, strs: List[str]) -> int:
        return max(int(s) if s.isdigit()  else len(s) for s in strs)

三、[Medium] 6262. 图中最大星和

链接: 6262. 图中最大星和

1. 题目描述

在这里插入图片描述

2. 思路分析

遍历每个节点作为中心。

  • 注意负数的邻居不需要。

3. 代码实现

class Solution:
    def maxStarSum(self, vals: List[int], edges: List[List[int]], k: int) -> int:
        n = len(vals)
        g = [[] for _ in range(n)]
        for u,v in edges:
            if vals[v] >0:
                g[u].append(vals[v])
            if vals[u] > 0:
                g[v].append(vals[u])        
       
        return max(u +sum(nlargest(k,v)) for u,v in zip(vals,g) )

四、[Medium] 6263. 青蛙过河 II

链接: 6263. 青蛙过河 II

1. 题目描述

在这里插入图片描述

2. 思路分析

  • 由于每个石头只能用一次,因此最少要间隔跳,模拟一下发现间隔跳一定是最优的,因为否则的话一定存在一个包含关系,超过间隔跳。

  • 另外由于本题是最大值最小化,因此可以二分;
  • 定义函数为在limit作为答案下,能否过河,每步选择最远那个最优。

3. 代码实现

class Solution:
    def maxJump(self, stones: List[int]) -> int:
        n = len(stones)

        ans = stones[1] - stones[0]
        for i in range(2,n):
            ans = max(ans,stones[i]-stones[i-2])
        return ans

五、[Hard] 6264. 让数组不相等的最小总代价

链接: 6264. 让数组不相等的最小总代价

1. 题目描述

在这里插入图片描述

2. 思路分析

  • 贪心。

  • 先把下标分为两组swap组和keep组:需要交换位置(即num1[i]==num2[i])和不需要交换的位置(即nums1[i]!=nums2[i])。
  • 计数需要交换的位置,有swap个,显然这些数无论如何至少参与答案一次,ans+=sum(i)。
  • 我们希望代价最小,那么最好keep组别动,swap组内部交换即可;如果满足,那么可以return ans
  • 什么时候满足呢,即swap组中的众数不超过组的一半:
    • 这时,如果swap是偶数,两两交换即可;
    • 如果是奇数,让nums[0]参与swap组,贡献不变。
  • 如果不满足,需要让keep组中的数加入swap组,由于我们希望贡献尽可能小,因此从低位开始加入。直到满足。

3. 代码实现

class Solution:
    def minimumTotalCost(self, nums1: List[int], nums2: List[int]) -> int:
        n = len(nums1)
        # c1,c2 = Counter(nums1),Counter(nums2)
        cnt = Counter(nums1+nums2)
        if max(cnt.values())>n:
            return -1
        
        cnt = Counter()
        mode = 0
        same = 0
        ans = 0
        mode_cnt = 0
        for i,a,b in zip(range(n),nums1,nums2):
            if a == b:
                same += 1
                cnt[a] += 1
                ans += i
                if cnt[a]>cnt[mode]:
                    mode = a 
        mode_cnt = cnt[mode]
        # print(mode,cnt,mode_cnt,ans,same)
        for i,a,b in zip(range(n),nums1,nums2):
            if mode_cnt*2 <= same:
                return ans 
            if a!=mode!=b!=a:
                ans += i 
                same += 1
        return ans

六、参考链接

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

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

相关文章

【OpenCV学习】第13课:基本阈值操作

仅自学做笔记用,后续有错误会更改 参考文章:https://blog.csdn.net/qq_37835727/article/details/123373339 理论 图像阈值&#xff1a;什么是图像阈值&#xff1f;简单点来说就是把图像分割的标尺&#xff0c; 举个栗子&#xff0c; 现在想象一个场景&#xff0c; 一个桌子上…

BA_重投影误差e对于相机的位姿ξ和对空间点的坐标P的雅可比矩阵的推导

1. 基本思路 重投影误差表示为e, 相机的位姿表示为ξ (或者表示为T(R,t))&#xff0c; 空间点表示为P, 则空间点投影到相机坐标系下的空间坐标点的相机坐标表示为P[X, Y, Z], 则 重投影误差e对于相机的位姿ξ的雅克比矩阵表示为 分别求等式右侧的两半部分&#xff08;误差对空…

DevExpress WinForms 22.2

DevExpress WinForms 22.2 添加了对Microsoft.NET 7的完全支持。 此版本现在需要.NET 6和Microsoft Visual Studio 2022(v17.0)或更高版本。 这不会影响.NET Framework客户&#xff0c;产品程序集在此发布周期中将继续以.NET Framework 4.5.2为目标。 蒙皮和矢量图标 WXI皮肤的…

每天五分钟机器学习:经典的降维算法——主成分分析法PCA

本文重点 前面我们学习了降维算法的两大应用场景,本节课程我们将学习具体的降维算法PCA,它是主成分分析法。 PCA要做什么? 将二维数据降维到一维,关键就是找到一个方向向量,然后把所有的数据都投射到该向量上,那么什么样的方向向量最好呢? 我们希望投射平均均方误差…

UIPickerView,UIDatePicker,UITextView

文章目录UIPickerView概念应用创建选中数据时的回调代理UIDatePicker概念创建四种模式UITextView概念创建常用属性与方法常用协议方法UIPickerView 概念 UIPickerView是一个列表控件。它可以提供给用户有限个数的可供选择的选项。 他可以设置列数和每一列的行数&#xff0c;然…

Fiddler抓包和Fiddler过滤器

目录 一、Fiddler与其他抓包工具的区别 二、Fiddler的工作原理 三、使用fiddler实现手机抓包 四、Filters过滤器 一、Fiddler与其他抓包工具的区别 1、Firebug虽然可以抓包&#xff0c;但是对于分析http请求的详细信息&#xff0c;不够强大。模拟http请求的功能也不够&…

简述基于JavaEE企业级开发技术

一、绪论 1、学习内容 javaEE企业开发技术概述javaEE容器——SpringORM数据层——MyBatis/JPAWeb层——Spring MVC展现层——JSP/Thymeleaf整合框架——SSM/SSH用户模块分析用户模块功能模块设计 前端框架&#xff1a;Bootstrap&#xff0c;NodeJS&#xff0c;Vue/React/Ang…

[附源码]计算机毕业设计个性化名片网站Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

Appium基础 — Appium测试环境搭建总结

1、Appium测试环境搭建整体思路 &#xff08;1&#xff09;Android测试环境搭建 Android测试环境需要搭建三个环境&#xff0c;Java&#xff0c;AndroidSDK&#xff0c;Android模拟器。 为什么要安装这三个环境&#xff1f; Java&#xff1a;Android的应用程序层使用的语言是…

理解Linux设备树(DTS)

DTS Dts&#xff1a;DTS即Device Tree Source&#xff0c;是一个文本形式的文件&#xff0c;用于描述硬件信息。一般都是固定信息&#xff0c;无法变更&#xff0c;无法overlay。 Dtsi&#xff1a;可以理解为dts的公共部分&#xff0c;添加、变更非常灵活。Dtsi包含在dts中。 …

基于 EasyOCR + HanLp 实现图片文字实体(中文姓名、机构名、地域名)识别

一、EasyOCR HanLp EasyOCR 是一个python版的文字识别工具。目前支持80中语言的识别。并且支持&#xff1a;图像预处理&#xff08;去噪、色彩饱和度、尖锐处理)、CRAFT文字检测、中间处理&#xff08;倾斜处理等&#xff09;、文字识别、后续处理、输出结果。框架如下&#…

RHCE实验--ansible

第四章 1、使用debug模块&#xff0c;显示当前受管主机的dns服务器的ip地址。 2、将createuser.fact文件传输到受管主机上作为自定义事实变量文件&#xff08;/etc/ansible/facts.d/&#xff09;&#xff0c;该文件的内容如下&#xff1a; [general] username wujing mima…

以太网 STP临时环路的产生、STP BPDU的转发过程、根桥故障案例分析。

2.10.2 以太网 传统STP生成树&#xff08;STP临时环路、STP BPDU的转发过程、根桥故障案例&#xff09; 传统STP生成树2.10.2 以太网 传统STP生成树&#xff08;STP临时环路、STP BPDU的转发过程、根桥故障案例&#xff09;STP临时环路&#xff1a;STP BPDU的转发过程&#xff…

多维数据分析

【数据挖掘】数据挖掘#商业智能&#xff08;BI&#xff09;数据分析挖掘概念 数据挖掘目前在各类企业和机构中蓬勃发展。因此我们制作了一份此领域常见术语总结。 分析型客户关系管理&#xff08;Analytical CRM/aCRM&#xff09;: 用于支持决策&#xff0c;改善公司跟顾客的…

redis集群详细搭建方式(含原理、操作指令、异常处理)

目录 1.概述 2.配置 2.1.配置文件 2.2.合体 2.3.进入cli 3.集群操作 3.1.查看集群信息 3.2.集群中录入值 3.3.查询集群中的值 4.故障处理 1.概述 概念&#xff1a; redis集群是从3.0版本开始支持的一个功能&#xff0c;是redis的一种水平扩展方式&#xff0c;将全局数据分…

NNDL 作业12:第七章课后题

习题7-1在小批量梯度下降中,试分析为什么学习率要和批量大小成正比. 在小批量梯度下降中&#xff1a; 令&#xff0c;则&#xff1a; 因此我们要使得参数最优&#xff0c;则为最优的时候的常数&#xff0c;故学习率要和批量大小成正比。 习题7-2在Adam算法中,说明指数加权平均…

以太网 传统STP生成树的BPDU介绍、STP端口状态介绍与切换过程,STP详细的工作过程。

2.10.1 以太网 传统STP生成树&#xff08;STP BPDU、STP端口状态、STP工作过程&#xff09; STP生成树协议的之间的交互通过STP BPDU&#xff08;根协议数据单元&#xff0c;Bridge Protocol Data Unit&#xff09;进行。 传统STP生成树2.10.1 以太网 传统STP生成树&#xff0…

《码出高效》五 异常与日志

前言 本章主要是讲异常处理&#xff0c;关于异常主要有三个问题&#xff1a; 哪里发生异常 谁来处理异常 如何处理异常 围绕这三个问题就有了一套异常处理机制 异常分类 通常异常时针对不稳定代码的&#xff0c;并且需要区分类型 throw和throws的区别&#xff1a; 以此段代…

session条件竞争

PHP SESSION 的存储 Session会话存储方式 PHP将session以文件的形式存储服务器的文件中&#xff0c;session.save_path来控制 默认路径 /var/lib/php/sess_PHPSESSID /var/lib/php/sessions/sess_PHPSESSID /tmp/sess_PHPSESSID /tmp/sessions/sess_PHPSESSID session文件默…

PS图层+移动工具(2)复制删除快捷键 图层分组 前景色填充

查看此文前 你需要先读 PS图层移动工具(1)图层概念-拖动操作-移动工具基础 其实显示变换控件 这个配置相对 是容易造成错误操作 不小心就把文件拖动了 当我们想调这些时 可以直接 按住键盘上的 CtrlT 然后点击图层 这个操作框就出来了 然后调好之后 还是 直接用鼠标双击图层 就…