力扣(2024.06.19)

1. 42——接雨水

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。

标签:数组,双指针

代码:

class Solution:def trap(self, height: List[int]) -> int:max_left = 0max_right = 0left = []right = []res = 0for i in range(0, len(height) - 2, 1):if height[i] > max_left:max_left = height[i]left.append(max_left)for i in range(len(height) - 1, 1, -1):if height[i] > max_right:max_right = height[i]right.append(max_right)right = right[::-1]for i in range(1, len(height) - 1):if min(left[i-1], right[i-1]) > height[i]:res = res + min(left[i-1], right[i-1]) - height[i]return res

2. 43——字符串相乘

给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。

注意:不能使用任何内置的 BigInteger 库或直接将输入转换为整数。

标签:数学,字符串,模拟

代码:

class Solution:def multiply(self, num1: str, num2: str) -> str:sum = 0leng1 = len(num1)for i in num1:leng2 = len(num2)for j in num2:sum = sum + int(i) * 10 ** (leng1 - 1) * int(j) * 10 ** (leng2 - 1)leng2 = leng2 - 1leng1 = leng1 - 1return str(sum)

3. 44——通配符匹配

给你一个输入字符串 (s) 和一个字符模式 (p) ,请你实现一个支持 '?' 和 '*' 匹配规则的通配符匹配:

  • '?' 可以匹配任何单个字符。
  • '*' 可以匹配任意字符序列(包括空字符序列)。

判定匹配成功的充要条件是:字符模式必须能够完全匹配输入字符串(而不是部分匹配)。

标签:贪心,递归,字符串,动态规划(目前不会)

代码:

4. 45——跳跃游戏2

给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]

每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i + j] 处:

  • 0 <= j <= nums[i] 
  • i + j < n

返回到达 nums[n - 1] 的最小跳跃次数。生成的测试用例可以到达 nums[n - 1]

标签:贪心,数组,动态规划(目前不会)

代码:

5. 46——全排列

给定一个不含重复数字的数组 nums ,返回其所有可能的全排列 。你可以按任意顺序返回答案。

标签:数组,回溯

代码:

class Solution:def permute(self, nums: List[int]) -> List[List[int]]:def backtrack(nums, used, res, path):if len(path) == len(nums):res.append(path.copy())returnfor i in range(len(nums)):if used[i]:continueused[i] = 1path.append(nums[i])backtrack(nums, used, res, path)used[i] = 0path.pop()res = []path = []used = [0] * len(nums)backtrack(nums, used, res, path)return res

6. 47——全排列2

给定一个可包含重复数字的序列 nums ,按任意顺序返回所有不重复的全排列。

标签:数组,回溯

代码:

class Solution:def permuteUnique(self, nums: List[int]) -> List[List[int]]:def backtrack(nums, used, res, path):if len(path) == len(nums):res.append(path.copy())returnfor i in range(len(nums)):if used[i]:continueif i > 0 and nums[i] == nums[i - 1] and not used[i - 1]:continueused[i] = 1path.append(nums[i])backtrack(nums, used, res, path)used[i] = 0path.pop()res = []path = []used = [0] * len(nums)nums.sort()backtrack(nums, used, res, path)return res

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

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

相关文章

Talk|新加坡国立大学贾鑫宇:适用于高自由度机器人的运动控制器

本期为TechBeat人工智能社区第600期线上Talk。 北京时间6月13日(周四)20:00&#xff0c;新加坡国立大学博士生—贾鑫宇的Talk已经准时在TechBeat人工智能社区开播&#xff01; 他与大家分享的主题是: “适用于高自由度机器人的运动控制器”&#xff0c;向大家系统地介绍了如何通…

千脑计划:模拟人类大脑皮层,开启AI新纪元

随着科技的飞速发展&#xff0c;人工智能已成为当今时代的热门话题。然而&#xff0c;目前主流的深度神经网络虽然取得了显著成就&#xff0c;但也面临着能耗高、稳定性差等问题。为了解决这些挑战&#xff0c;一项名为“千脑计划”的宏伟项目应运而生&#xff0c;旨在通过模仿…

实数系和复数系-习题

出去有明确的相反的说明以外&#xff0c;本习题中所提到的数&#xff0c;都理解为实数 1.如果 r ( r ≠ 0 ) r\left( r\neq 0 \right) r(r0)是有理数而 x x x是无理数&#xff0c;证明 r x r x rx及 r x rx rx是无理数 证明&#xff1a; 假设 r x r x rx是有理数&#x…

数据结构:4.1.1二叉搜素树及查找

静态查找&#xff1a;要找的集合的元素是不动的&#xff0c;主要是find操作&#xff0c;没有delete操作 动态查找&#xff1a;要查找的集合会经常发生插入删除的操作 静态查找的一个很好的方法就是二分查找 把数据直接放在树上 结点右子树的值>结点的值>结点左子树的…

nRF Connect固件升级 OTA DFU Library for Mac and iOS, compatible with nRF5x SoCs

参考链接&#xff1a; NordicSemiconductor/IOS-DFU-Library - github

学习使用js和jquery修改css路径,实现html页面主题切换功能

学习使用js和jquery修改css路径&#xff0c;实现html页面主题切换功能 效果图html代码jquery切换css关键代码js切换css关键代码 效果图 html代码 <!DOCTYPE html> <html> <head><meta charset"utf-8"><title>修改css路径</title&g…

段式存储底层原理

段式存储管理&#xff08;Segmented Storage&#xff09;是一种内存管理技术&#xff0c;它允许程序以逻辑段&#xff08;Segment&#xff09;为单位来组织数据和代码&#xff0c;而不是像页式存储那样以固定大小的页来组织。段式存储提供了更大的灵活性&#xff0c;因为段可以…

openGauss学习笔记-299 openGauss AI特性-AI4DB数据库自治运维-DBMind的AI子功能-SQLdiag慢SQL发现

文章目录 openGauss学习笔记-299 openGauss AI特性-AI4DB数据库自治运维-DBMind的AI子功能-SQLdiag慢SQL发现299.1 概述299.2 使用指导299.2.1 前提条件299.2.2 SQL流水采集方法299.2.3 操作步骤299.2.4 使用方法示例299.3 获取帮助299.4 命令参考299.5 常见问题处理openGauss学…

几种常见的排序算法及其特性

当谈到排序算法时&#xff0c;有许多经典的算法被广泛应用。以下是几种常见的排序算法及其特性&#xff1a; 冒泡排序&#xff08;Bubble Sort&#xff09; 特性&#xff1a;通过重复地遍历要排序的数列&#xff0c;一次比较两个元素&#xff0c;如果他们的顺序错误就把他们交…

Hive分区和分桶

分区&#xff1a; 根据某一列进行进行划分存储&#xff0c;常用的有时间分区&#xff1b; 查询数据时只需要扫描特定的分区数据&#xff0c;不需要全盘扫描&#xff0c;节省时间, 方便数据归档和清理 创建分区表 create table table_name( col1 int, col2 string ) partition …

管道保温的介绍

通风空调管道及各种水管的保温材料主要有&#xff1a;聚氨酯泡沫塑料保温、高级橡塑保温、酚醛泡沫塑料保温等。现对以上材料的特性、适用范围、施工要点等进行介绍&#xff0c;以供各位借鉴。 01 常用的绝热材料 1、聚氨酯泡沫塑料保温 该材料用于直埋管段的保温。在工程中…

Centos-Php-Nginx

安装Nginx&#xff08;如果尚未安装&#xff09;&#xff1a; sudo yum install nginx启动Nginx服务&#xff1a; sudo systemctl start nginx设置Nginx开机自启&#xff08;可选&#xff09;&#xff1a; sudo systemctl enable nginx安装PHP和PHP-FPM&#xff1a; sudo yum i…

网络安全:入侵检测系统的原理与应用

文章目录 网络安全&#xff1a;入侵检测系统的原理与应用引言入侵检测系统简介IDS的工作原理IDS的重要性结语 网络安全&#xff1a;入侵检测系统的原理与应用 引言 在我们的网络安全系列文章中&#xff0c;我们已经涵盖了从SQL注入到端点保护的多个主题。本篇文章将探讨入侵检…

ChatGPT Plus GPT-4o Claude 3 Opus合租拼车全新方式

无需自己搭建&#xff0c;登录即可用&#xff0c;国内直连访问&#xff0c;聚合多家最强大模型&#xff0c;随意选择使用。立即体验 datapipe.top 支持 OpenAI 最新 GPT-4o &#xff0c;获得快速高质量的对话&#xff0c;保证可用配额。支持多种大模型&#xff0c;GPT-4o &…

建筑工程设计乙级资质介绍

建筑工程设计乙级资质是中国住房和城乡建设部根据国家相关规定&#xff0c;对建筑设计单位在技术、经济、资源、环境等多方面综合能力的认可&#xff0c;表明该设计单位可以在限定范围内承担中型及以下规模的建筑工程设计任务。以下是乙级资质的一些核心要点介绍&#xff1a; …

XGBoost算法详解

XGBoost算法详解 XGBoost&#xff08;Extreme Gradient Boosting&#xff09;是一种高效的梯度提升决策树&#xff08;GBDT&#xff09;实现&#xff0c;因其高性能和灵活性在机器学习竞赛中广泛使用。本文将详细介绍XGBoost算法的原理&#xff0c;并展示其在实际数据集上的应…

Flutter 项目设置 Flutter 版本

即便使用了 fvm 设置了版本&#xff0c;AdroidStudio Setting 中如果不修改路径&#xff0c;Editor 依然会编译错误。目前还没看懂如何通过命令、文件来记录AdroidStudio Setting中的设置。 fvm list 来查看 flutter 路径&#xff1a;

怪物猎人物语游戏加载慢、卡加载解决方法一览

怪物猎人物语是《怪物猎人》系列史上首部RPG类型游戏。本作采用动漫式的画风风格&#xff0c;在玩法上完全不同于以往系列作&#xff0c;但本作完整的保持《怪物猎人》系列的世界观&#xff0c;依靠正统的RPG玩法给玩家带来不同以往的游戏体验。因为游戏快要上线了&#xff0c;…

R 绘图 - 条形图

R 绘图 - 条形图 条形图是数据可视化中最常用的图表类型之一&#xff0c;它能够直观地展示不同类别之间的比较。在 R 语言中&#xff0c;制作条形图非常简单&#xff0c;得益于其丰富的图形库和灵活的绘图系统。本文将详细介绍如何在 R 中创建和定制条形图&#xff0c;包括基本…

5分钟搭建大模型应用!腾讯将「实用主义」贯彻到底

让企业像搭积木一样构建大模型应用&#xff0c;简单可上手。 在经历了一年多的技术锤炼后&#xff0c;大模型正在迈向真刀真枪抢落地的关键阶段。 对于更多企业而言&#xff0c;如何将看上去酷炫的大模型技术落到实处成了眼下的重要命题。 与此同时&#xff0c;「甲子光年」…