日常刷题(24)

news/2024/9/18 10:01:25/ 标签: 算法, python, 数据结构

1. 拼接最大数

1.1. 题目描述

给你两个整数数组 nums1 和 nums2,它们的长度分别为 m 和 n。数组 nums1 和 nums2 分别代表两个数各位上的数字。同时你也会得到一个整数 k。

请你利用这两个数组中的数字中创建一个长度为 k <= m + n 的最大数,在这个必须保留来自同一数组的数字的相对顺序。

返回代表答案的长度为 k 的数组。

1.2. 示例

示例 1:

输入:nums1 = [3,4,6,5], nums2 = [9,1,2,5,8,3], k = 5
输出:[9,8,6,5,3]
示例 2:

输入:nums1 = [6,7], nums2 = [6,0,4], k = 5
输出:[6,7,6,0,4]
示例 3:

输入:nums1 = [3,9], nums2 = [8,9], k = 3
输出:[9,8,9]

1.3. 题目解析

  1. 找最大子串
  2. 拼接最大子串

1.4. 代码

python">class Solution:def get_max_subsequence(self, nums, k):stack = []drop = len(nums) - kfor num in nums:while stack and drop and stack[-1] < num:stack.pop()drop -= 1stack.append(num)return stackdef merge(self, nums1, nums2):stack = []while nums1 or nums2:# 比较第一位数大小nums = nums1 if nums1 > nums2 else nums2stack.append(nums.pop(0))return stackdef __call__(self, nums1, nums2, k):ans = []for i in range(k):if i > len(nums1) or k - i > len(nums2):continuestack1, stack2 = self.get_max_subsequence(nums1, i), self.get_max_subsequence(nums2, k - i)stack = self.merge(stack1, stack2)[:k]if len(stack) != k:continueans = max(stack, ans)return ans

http://www.ppmy.cn/news/1519416.html

相关文章

sqlite3的db.serialize方法:确保数据库操作串行化的利器

在Node.js中&#xff0c;sqlite3是一个广受欢迎的轻量级数据库库&#xff0c;它提供了一个简洁的API来与SQLite数据库进行交互。在进行数据库操作时&#xff0c;为了确保操作的串行化执行&#xff0c;避免并发问题&#xff0c;sqlite3提供了db.serialize方法。本文将深入解析db…

springboot中分页插件的使用

安装依赖 这里有个版本的报错&#xff0c;循环依赖的问题&#xff0c;大家可以去具体查下&#xff0c;我这是sp3,所以要选择高点的版本&#xff0c;否则启动会报错 <!--mybatis起步依赖--><dependency><groupId>org.mybatis.spring.boot</groupId>&l…

c/c++基础及类和对象汇总

目录 c基础 extern关键字及c中&#xff08;隐式类型转换时&#xff09;的引用 c中的引用&#xff08;&&#xff09;及&做返回值问题 c语言中的宏函数及c的内联函数及auto及NULL 计算类的大小及深入理解this指针&#xff08;深入浅出&#xff09; c中的const权限及s…

C# 反射和特性练习代码

反射 using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Linq; using System.Reflection; using System.Reflection.Metadata.Ecma335; using System.Runtime;class Test {private int b;pub…

ARM/Linux嵌入式面经(三二):百度

文章目录 RTOS了解吗,展开讲一下对RTOS的线程和任务管理相关的有了解吗RTOS的线程和任务管理相关了解追问有深度的技术问题及答案vivado这个硬件平台怎么用的Vivado硬件平台使用了解追问有深度的技术问题及答案项目系统架构、配置是怎样的项目系统架构与配置系统架构配置追问有…

WPF中使用Echarts显示图表

在WPF中使用ECharts来显示图表&#xff0c;你需要将ECharts嵌入到WPF应用程序中。我们这里介绍两种方法显示图表&#xff1a; 目录 一、ECharts是一个基于JavaScript的开源可视化图表库&#xff0c;因此我们需要使用WebView控件来承载一个嵌入式浏览器&#xff0c;这样就可以…

JVM 性能分析 —— CMS 老年代并发 GC 触发条件与压缩式 GC (升级为 Full GC)触发条件

文章目录 CMS 触发老年代 GC 条件foreground collector&#xff08;前台收集&#xff09;background collector&#xff08;后台收集&#xff09; MSC&#xff08;mark-sweep-compact 压缩式 GC&#xff09; CMS 触发老年代 GC 条件 先看看触发老年代GC的条件。CMS GC 在实现上…

线程池在接受到30个比较耗时的任务时的状态,在前面30个比较耗时的任务还没执行完成的情况下,再来多少个任务会触发拒绝策略?

目录 一、提出问题 二、解答 问题 1: 线程池在接受到30个比较耗时的任务时的状态 问题 2: 在前面30个比较耗时的任务还没执行完成的情况下&#xff0c;再来多少个任务会触发拒绝策略&#xff1f; 总结 一、提出问题 我们首先自定义一个线程池&#xff1a; new ThreadPoo…

python基本语法总结

参考&#xff1a; Python 基础语法 | 菜鸟教程 (runoob.com) Python 语言与 Perl&#xff0c;C 和 Java 等语言有许多相似之处。但是&#xff0c;也存在一些差异。 在本章中我们将来学习 Python 的基础语法&#xff0c;让你快速学会 Python 编程。 第一个Python程序 python编写…

【python】OpenCV—Multi Human Pose Estimation

文章目录 1、背景介绍2、关键点检测模型3、源码与结果4、源码解读——检测关键点5、源码解读——找到有效对6、源码解读——组装个人关键点7、涉及到的库cv2.dnn.blobFromImage 8、参考 1、背景介绍 【python】OpenCV—Single Human Pose Estimation 本文以 COCO 格式为例&am…

内存管理笔记

1、内存管理简介 在计算机系统中&#xff0c;变量、中间数据一般存放在系统存储空间中&#xff0c;只有在实际使用时才将它们从存储空间调入到中央处理器内部进行运算。通常存储空间可以分为两种&#xff1a;内部存储空间和外部存储空间。内部存储空间访问速度比较快&#xff…

中文科技核心

“中文科技核心”通常指的是在中文领域内具有重要影响力和学术价值的科技研究或出版物。这些核心期刊和论文集主要集中在自然科学、工程技术、计算机科学等领域&#xff0c;代表了该领域的前沿研究成果。以下是关于中文科技核心的一些要素和相关内容。 1. 中文科技核心期刊的定…

Transformer参数量和复杂度

在算法岗面试中经常会问到Transformer相关的基础知识。 首先需要清楚Transformer的参数量和复杂度分别在算什么。 定义&#xff1a; 参数量&#xff1a;神经网络中有很多参数矩阵&#xff0c;这个矩阵大小的和就是参数量&#xff0c;静态的&#xff0c;摆在那就在那&#xff…

通过 Filter 改写请求的 Response

通过 Filter 改写请求的 Response 1、自定义 ResponseWrapper 自定义 ResponseWrapper&#xff0c;用于获取 Response Data public class RewriteRespWrapper extends HttpServletResponseWrapper {private final ByteArrayOutputStream output;private ServletOutputStream…

华为 HCIP-Datacom H12-821 题库 (3)

有需要题库的可以看主页置顶 1.运行 OSPF 协议的路由器在交互 DD 报文时&#xff0c;会使用以下哪一个参数选举主从关系&#xff1f; A、接口的 IP 地址 B、接口的 DR 优先级 C、Area ID D、Router ID 答案&#xff1a;D 解析&#xff1a; Router-ID 大的为主&#xff0c;小的…

初爽Stream流

体验Stream流的作用&#xff1a; 需求&#xff1a; 按照下面的要求完成集合的创建和遍历 创建一个集合&#xff0c;存储多个字符串元素 要求&#xff1a; 1.把所有以“张”开头的元素存储到新集合中 2.把“张”开头的&#xff0c;长度为3的元素再存储到新集合中 3.遍历打…

Java小项目IDEA怎么打成jar包

使用IDEA打jar包 在file选项中找 打开jar包所在位置&#xff1a; 将jar包拿出来 直接点击jar包就可以运行

Linux tty模式下无法使用回滚功能解决(shift+pgup方法不管用)

Linux tty模式下无法使用回滚功能解决&#xff08;shiftpgup方法不管用&#xff09; 自从内核5.9版本以后&#xff0c;回滚功能就被取消&#xff1a;fbcon: remove soft scrollback code 此前是可以使用 Shift PageUp/PageDown 来滚动的。现在假如我们想查看屏幕以外的文字&…

算法训练营|图论第二天 99.岛屿数量 100.岛屿的最大面积

题目&#xff1a;99.岛屿数量 题目链接&#xff1a; 99. 岛屿数量 (kamacoder.com) 代码&#xff1a; 深度优先搜索&#xff1a; #include<bits/stdc.h> using namespace std; int dir[4][2] { 0,1,1,0,-1,0,0,-1 }; void dfs(vector<vector<int>>&…

MySQL唯一索引大小写敏感性问题及字符集深入解析

1. 问题背景与描述 在实际生产环境中&#xff0c;我们遇到了一个插入重复异常的问题。具体表现在长链接转换为短链接的过程中&#xff0c;生成的短链被插入数据库时触发了唯一索引的冲突错误。错误的根本原因在于数据库使用了不区分大小写的排序规则&#xff0c;导致两个看似不…