当前位置: 首页 > news >正文

【leetcode——415场周赛】——python前两题

3289. 数字小镇中的捣蛋鬼

数字小镇 Digitville 中,存在一个数字列表 nums,其中包含从 0 到 n - 1 的整数。每个数字本应 只出现一次,然而,有 两个 顽皮的数字额外多出现了一次,使得列表变得比正常情况下更长。

为了恢复 Digitville 的和平,作为小镇中的名侦探,请你找出这两个顽皮的数字。

返回一个长度为 2 的数组,包含这两个数字(顺序任意)。

示例 1:

输入: nums = [0,1,1,0]

输出: [0,1]

解释:

数字 0 和 1 分别在数组中出现了两次。

示例 2:

输入: nums = [0,3,2,1,3,2]

输出: [2,3]

解释:

数字 2 和 3 分别在数组中出现了两次。

示例 3:

输入: nums = [7,1,5,4,3,4,6,0,9,5,8,2]

输出: [4,5]

解释:

数字 4 和 5 分别在数组中出现了两次。

提示:

  • 2 <= n <= 100
  • nums.length == n + 2
  • 0 <= nums[i] < n
  • 输入保证 nums 中 恰好 包含两个重复的元素。
class Solution:def getSneakyNumbers(self, nums: List[int]) -> List[int]:dict1 = Counter(nums)l = []for i in dict1:if dict1[i] > 1:l.append(i)return l

 时间复杂度:o(n),空间复杂度:o(n)

 3290. 最高乘法得分

给你一个大小为 4 的整数数组 a 和一个大小 至少为 4 的整数数组 b

你需要从数组 b 中选择四个下标 i0i1i2, 和 i3,并满足 i0 < i1 < i2 < i3。你的得分将是 a[0] * b[i0] + a[1] * b[i1] + a[2] * b[i2] + a[3] * b[i3] 的值。

返回你能够获得的 最大 得分。

示例 1:

输入: a = [3,2,5,6], b = [2,-6,4,-5,-3,2,-7]

输出: 26

解释:
选择下标 0, 1, 2 和 5。得分为 3 * 2 + 2 * (-6) + 5 * 4 + 6 * 2 = 26

示例 2:

输入: a = [-1,4,5,-2], b = [-5,-1,-3,-2,-4]

输出: -1

解释:
选择下标 0, 1, 3 和 4。得分为 (-1) * (-5) + 4 * (-1) + 5 * (-2) + (-2) * (-4) = -1

提示:

  • a.length == 4
  • 4 <= b.length <= 10**5
  • -105 <= a[i], b[i] <= 10**5

一开始想的是记忆化搜索,但是爆了:

#内存爆了
class Solution:def maxScore(self, a: List[int], b: List[int]) -> int:n = len(b)@cachedef dfs(i : int, ans : int, step : int) -> int:if step == 4:return anselif i >= n or step > 4:return -infreturn max(dfs(i + 1,ans + a[step] * b[i],step + 1),dfs(i + 1,ans,step))return dfs(0,0,0)
#时间爆了
class Solution:def maxScore(self, a: List[int], b: List[int]) -> int:n = len(b)@cachedef dfs(i : int, ans : int, step : int) -> int:if step == 4:return anselif i >= n or step > 4:return -infreturn max(dfs(i + 1,ans + a[step] * b[i],step + 1),dfs(i + 1,ans,step))ans = dfs(0,0,0)dfs.cache_clear()return ans

 最后改了动态规划才好

class Solution:def maxScore(self, a: List[int], b: List[int]) -> int:n = len(b)dp = [[float('-inf')] * 5 for _ in range(n + 1)]dp[0][0] = 0 for i in range(n):for step in range(4, -1, -1):if step > 0:dp[i + 1][step] = max(dp[i + 1][step], dp[i][step - 1] + a[step - 1] * b[i])dp[i + 1][step] = max(dp[i + 1][step], dp[i][step])return dp[n][4]

相关文章:

【leetcode——415场周赛】——python前两题

3289. 数字小镇中的捣蛋鬼 数字小镇 Digitville 中&#xff0c;存在一个数字列表 nums&#xff0c;其中包含从 0 到 n - 1 的整数。每个数字本应 只出现一次&#xff0c;然而&#xff0c;有 两个 顽皮的数字额外多出现了一次&#xff0c;使得列表变得比正常情况下更长。 为了…...

【CSS in Depth 2 精译_029】5.2 Grid 网格布局中的网格结构剖析(上)

当前内容所在位置&#xff08;可进入专栏查看其他译好的章节内容&#xff09; 第一章 层叠、优先级与继承&#xff08;已完结&#xff09; 1.1 层叠1.2 继承1.3 特殊值1.4 简写属性1.5 CSS 渐进式增强技术1.6 本章小结 第二章 相对单位&#xff08;已完结&#xff09; 2.1 相对…...

ZYNQ LWIP(RAW API) TCP函数学习

1 LWIP TCP函数学习 tcp_new()–新建控制块 这个函数用于分配一个TCP控制块,它通过tcp_alloc()函数分配一个TCP控制块结构来存储TCP控制块的数据信息, 如果没有足够的内容分配空间,那么tcp_alloc()函数就会尝试释放一些不太重要的TCP控制块, 比如就会释放处于TIME_WAIT、C…...

Spring Boot,在应用程序启动后执行某些 SQL 语句

在 Spring Boot 中&#xff0c;如果你想在应用程序启动后执行某些 SQL 语句&#xff0c;可以利用 spring.sql.init 属性来配置初始化脚本。这通常用于在应用启动时创建数据库表、索引、视图等&#xff0c;或者填充默认数据。data-locations 和 schema-locations 指定了 SQL 脚本…...

【SQL】百题计划:SQL最基本的判断和查询。

[SQL]百题计划 Select product_id from Products where low_fats "Y" and recyclable "Y";...

04_Python数据类型_列表

Python的基础数据类型 数值类型&#xff1a;整数、浮点数、复数、布尔字符串容器类型&#xff1a;列表、元祖、字典、集合 列表 列表&#xff08;List&#xff09;是一种非常灵活的数据类型&#xff0c;它可以用来存储一系列的元素。容器类型&#xff0c;能够存储多个元素的…...

F5设备绑定EIP

公网IP 公网IP&#xff08;Public IP Address&#xff09;是指可以直接在互联网上访问的IP地址&#xff0c;用于标识网络上的设备或主机。它允许外部网络访问您的云服务器&#xff0c;如提供远程登录服务、访问Web服务器等。然而&#xff0c;这并不意味着公网IP不需要路由。 …...

使用 PyCharm 新建 Python 项目详解

使用 PyCharm 新建 Python 项目详解 文章目录 使用 PyCharm 新建 Python 项目详解一 新建 Python 项目二 配置环境1 项目存放目录2 Python Interpreter 选择3 创建隔离环境4 选择你的 Python 版本5 选择 Conda executable 三 New Window 打开项目四 目录结构五 程序编写运行六 …...

从0开始学习 RocketMQ:分布式事务消息的实现

消息队列中的事务&#xff0c;主要是解决消息生产者和消息消费者数据一致性的问题。 应用场景 比如订单系统创建订单后&#xff0c;会发消息给购物车系统&#xff0c;将已下单的商品从购物车中删除。 由于购物车删除商品这一步骤并不是用户下单支付这个主流程中的核心步骤&a…...

MySQL 查询数据库的数据总量

需求&#xff1a;查看MySQL数据库的数据总量&#xff0c;以MB为单位展示数据库占用的磁盘空间 实践&#xff1a; 登录到MySQL数据库服务器。 选择你想要查看数据总量的数据库&#xff1a; USE shield;运行查询以获取数据库的总大小&#xff1a; SELECT table_schema AS Datab…...

[C++]——vector

&#x1f307;个人主页&#xff1a;_麦麦_ &#x1f4da;今日小句&#xff1a;快乐的方式有很多种&#xff0c;第一种便是见到你。 目录 一、前言 二、vector的介绍及使用 2.1 vector的介绍 2.2 vector的使用 2.2.1 vector的定义&#xff08;构造函数&#xff09; 2.2.2…...

自动驾驶:LQR、ILQR和DDP原理、公式推导以及代码演示(七、CILQR约束条件下的ILQR求解)

&#xff08;七&#xff09;CILQR约束条件下的ILQR求解 CILQR&#xff08;(Constrained Iterative Linear Quadratic Regulator)&#xff09; 是为了在 iLQR 基础上扩展处理控制输入和状态约束的问题。在这种情况下&#xff0c;系统不仅要优化控制输入以最小化代价函数&#x…...

随想录笔记-二叉树练习题

合并二叉树 617. 合并二叉树 - 力扣&#xff08;LeetCode&#xff09; dfs递归 class Solution {public TreeNode mergeTrees(TreeNode root1, TreeNode root2) {if(root1null||root2null){return root1null?root2:root1;}return dfs(root1,root2);}public TreeNode dfs(Tre…...

华雁智科前端面试题

1. var 变量的提升 题目&#xff1a; var a 1 function fun() {console.log(b)var b 2 } fun() console.log(a) 正确输出结果&#xff1a;undefined、1答错了&#xff0c;给一个大嘴巴子&#xff0c;错误答案输出结果为&#xff1a;2,1 此题主要考察 var 定义的变量&…...

【iOS】单例模式

【iOS】单例模式 什么是单例模式&#xff1f; 定义 单例模式&#xff0c;简单地说就是一个类只对应一个对象&#xff0c;每次使用这个类时&#xff0c;都只能获取到那一个对象。它的详细定义如下&#xff1a; 如果一个类始终只能创建一个实例&#xff0c;则这个类被称为单例…...

Linux | 探索 Linux 信号机制:信号的产生和自定义捕捉

信号是 Linux 操作系统中非常重要的进程控制机制&#xff0c;用来异步通知进程发生某种事件。理解信号的产生、阻塞、递达、捕捉等概念&#xff0c;可以帮助开发者更好地编写健壮的应用程序&#xff0c;避免由于未处理的信号导致程序异常退出。本文将带你从基础概念开始&#x…...

递归的时间复杂度分析

确定回溯算法的时间复杂度通常比较复杂&#xff0c;因为它取决于搜索空间的大小以及你的剪枝效率。对于生成从1到n的所有长度为k的组合。分析这类算法的时间复杂度时&#xff0c;我们通常需要考虑递归树的所有可能路径。 组合数 生成的组合数量是从n个元素中选择k个的组合数&…...

C++: 二叉树进阶面试题

做每件事之前都心存诚意, 就会事半功倍. 目录 前言1. 根据二叉树创建字符串2. 二叉树的层序遍历Ⅰ3. 二叉树的层序遍历Ⅱ4. 二叉树的最近公共祖先5. 二叉搜索树与双向链表6. 根据一棵树的前序遍历与中序遍历构造二叉树7. 根据一棵树的中序遍历与后序遍历构造二叉树8. 二叉树的…...

【HarmonyOS NEXT】实现网络图片保存到手机相册

【问题描述】 给定一个网络图片的地址&#xff0c;实现将图片保存到手机相册 【API】 phAccessHelper.showAssetsCreationDialog【官方文档】 https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-photoaccesshelper-V5#showassetscreationdialog…...

Pytorch详解-数据模块

Pytorch详解-数据模块 torch.utils.data.Dataset数据交互模块—Dataset的功能示例系列APIsconcatSubsetrandom_splitsampler unsqueeze DataLoaderDataLoader功能支持两种形式数据集读取自定义采样策略自动组装成批数据多进程数据加载自动实现锁页内存&#xff08;Pinning Memo…...

Eino:Agent的LLM抽象

拨开迷雾看本质&#xff1a;从零推导 ChatModelAgent&#xff08;模型适配层与 Agent 运行时&#xff09; 在 react.md 里看到的是 “ReAct 作为范式” 的推导&#xff1b;而本篇把视角切到 chatmodel.go 作为工程实现&#xff1a;它不只是“为了 ReAct 画图”&#xff0c;更是…...

隐马尔科夫模型(HMM)实战:从天气预测到股票市场分析

1. 隐马尔科夫模型入门&#xff1a;从天气预报说起 第一次听说隐马尔科夫模型(HMM)时&#xff0c;我正盯着手机上的天气预报发呆。为什么明明显示"晴天"&#xff0c;下午却突然下起暴雨&#xff1f;这让我开始思考天气预测背后的数学模型。HMM正是解决这类问题的利器…...

Phi-3 Mini 128K应用场景:技术团队内部知识沉淀问答系统

Phi-3 Mini 128K应用场景&#xff1a;技术团队内部知识沉淀问答系统 1. 技术团队的知识管理痛点 在快节奏的技术开发环境中&#xff0c;团队经常面临这样的困境&#xff1a;新成员加入时需要花费大量时间熟悉项目历史&#xff0c;关键问题的解决方案分散在各个聊天记录和邮件…...

300FPS的实时目标跟踪是怎么炼成的?手把手拆解KCF算法里的数学魔法

300FPS实时目标跟踪背后的数学魔法&#xff1a;KCF算法深度解密 在计算机视觉领域&#xff0c;实时目标跟踪一直是个令人着迷又充满挑战的问题。想象一下&#xff0c;当你在观看一场足球比赛时&#xff0c;摄像机需要实时锁定某个球员&#xff1b;或者当自动驾驶汽车行驶时&am…...

Qwen3-TTS开源镜像实操:与LangChain集成构建多语种AI Agent语音接口

Qwen3-TTS开源镜像实操&#xff1a;与LangChain集成构建多语种AI Agent语音接口 1. 项目概述与核心价值 Qwen3-TTS-12Hz-1.7B-VoiceDesign是一个强大的多语言文本转语音模型&#xff0c;专为现代AI应用场景设计。这个模型最大的特点是能够处理10种主要语言&#xff0c;包括中…...

GLM-4.7-Flash功能体验:MoE架构+流式输出,感受30B大模型的丝滑对话

GLM-4.7-Flash功能体验&#xff1a;MoE架构流式输出&#xff0c;感受30B大模型的丝滑对话 1. 开篇&#xff1a;初识GLM-4.7-Flash 当我第一次在CSDN星图镜像广场看到GLM-4.7-Flash这个30B参数的大模型时&#xff0c;内心既期待又忐忑。期待的是它能带来怎样的智能体验&#x…...

跨平台文件同步方案:OpenClaw+Qwen3-32B智能归档系统

跨平台文件同步方案&#xff1a;OpenClawQwen3-32B智能归档系统 1. 为什么需要智能文件同步 作为一个长期在多台设备间切换工作的开发者&#xff0c;我深受文件管理混乱的困扰。Mac上的设计稿、Windows里的开发文档、Linux服务器上的日志文件——这些散落在各处的数据就像一座…...

别再只调headingPitchRoll了!深入Cesium矩阵变换,从原理到代码理解模型朝向控制

深入Cesium矩阵变换&#xff1a;从数学原理到模型朝向控制的实战指南 在三维地理可视化领域&#xff0c;精确控制模型朝向一直是开发者面临的挑战。许多开发者习惯使用现成的headingPitchRoll方法&#xff0c;但当遇到复杂场景如极地附近模型旋转异常时&#xff0c;往往束手无策…...

视频抠像技术全解析:基于MatAnyone的动态场景处理与多目标分离方案

视频抠像技术全解析&#xff1a;基于MatAnyone的动态场景处理与多目标分离方案 【免费下载链接】MatAnyone MatAnyone: Stable Video Matting with Consistent Memory Propagation 项目地址: https://gitcode.com/gh_mirrors/ma/MatAnyone 视频抠像技术在影视制作、直播…...

专为AI打造的浏览器:内存占用仅为Chrome的1/9、比Chrome快11倍(Docker部署教程,支持飞牛nas等服务器部署)

文章目录 📖 介绍 📖 🏡 演示环境 🏡 📒 轻量级无头浏览器介绍与Docker部署指南 📒 📝 工具介绍 🎯 为什么选择它 🔧 Docker Compose 快速部署 💡 连接进行自动化操作 ⚠️ 注意事项 📊 性能对比 🎯 适用场景 ⚓️ 相关链接 ⚓️ 📖 介绍 📖 在自动…...