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

力扣(2024.06.23)

1. 62——不同路径

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。

机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?

标签:数学,动态规划,组合数学

代码:

class Solution:def uniquePaths(self, m: int, n: int) -> int:dp = []for i in range(m):dp.append([0] * n)for i in range(m):dp[i][0] = 1for j in range(n):dp[0][j] = 1for i in range(1, m):for j in range(1, n):dp[i][j] = dp[i - 1][j] + dp[i][j - 1]return dp[m - 1][n - 1]

2. 63——不同路径2

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。

机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish”)。

现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?

网格中的障碍物和空位置分别用 1 和 0 来表示。

标签:数组,动态规划,矩阵

代码:

class Solution:def uniquePathsWithObstacles(self, obstacleGrid: List[List[int]]) -> int:m = len(obstacleGrid)n = len(obstacleGrid[0])dp = []for i in range(m):dp.append([0] * n)for i in range(m):if obstacleGrid[i][0] != 1:dp[i][0] = 1else:breakfor j in range(n):if obstacleGrid[0][j] != 1:dp[0][j] = 1else:breakfor i in range(1, m):for j in range(1, n):if obstacleGrid[i][j] != 1:dp[i][j] = dp[i - 1][j] + dp[i][j - 1]return dp[m - 1][n - 1]

3. 64——最小路径和

给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。

说明:每次只能向下或者向右移动一步。

标签:数组,动态规划,矩阵

代码:

class Solution:def minPathSum(self, grid: List[List[int]]) -> int:m = len(grid)n = len(grid[0])dp = []for i in range(m):dp.append([0] * n)dp[0][0] = grid[0][0]for i in range(1, m):dp[i][0] = grid[i][0] + dp[i - 1][0]for j in range(1, n):dp[0][j] = grid[0][j] + dp[0][j - 1]for i in range(1, m):for j in range(1, n):up = grid[i][j] + dp[i - 1][j]left = grid[i][j] + dp[i][j - 1]dp[i][j] = min(up, left)return dp[m - 1][n - 1]

4. 65——有效数字

给定一个字符串 s ,返回 s 是否是一个有效数字。

例如,下面的都是有效数字:"2", "0089", "-0.1", "+3.14", "4.", "-.9", "2e10", "-90E3", "3e+7", "+6e-1", "53.5e93", "-123.456e789",而接下来的不是:"abc", "1a", "1e", "e3", "99e2.5", "--6", "-+3", "95a54e53"

一般的,一个有效数字可以用以下的规则之一定义:

  1. 一个整数后面跟着一个可选指数。
  2. 一个十进制数后面跟着一个可选指数。

一个整数定义为一个可选符号 '-' 或 '+' 后面跟着数字。

一个十进制数定义为一个可选符号 '-' 或 '+' 后面跟着下述规则:

  1. 数字后跟着一个小数点 .
  2. 数字后跟着一个小数点 . 再跟着数位。
  3. 一个小数点 . 后跟着数位。

指数定义为指数符号 'e' 或 'E',后面跟着一个整数。

数字定义为一个或多个数位。

标签:字符串(目前不会)

代码:

5. 66——加一

给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。

标签:数组,数学

代码:

class Solution:def plusOne(self, digits: List[int]) -> List[int]:for i, n in enumerate(digits):digits[i] = str(n)num = int("".join(digits))num = num + 1digits.clear()for i, n in enumerate(str(num)):digits.append(int(n))return digits

6. 67——二进制求和

给你两个二进制字符串 a 和 b ,以二进制字符串的形式返回它们的和。

标签:位运算,数学,字符串,模拟

代码:

class Solution:def addBinary(self, a: str, b: str) -> str:pointer1 = len(a) - 1pointer2 = len(b) - 1add = 0res = []while pointer1 >= 0 and pointer2 >= 0:sum = int(a[pointer1]) + int(b[pointer2]) + addres.append(str(sum % 2))add = sum // 2pointer1 = pointer1 - 1pointer2 = pointer2 - 1while pointer1 >= 0:sum = int(a[pointer1]) + addres.append(str(sum % 2))add = sum // 2pointer1 = pointer1 - 1while pointer2 >= 0:sum = int(b[pointer2]) + addres.append(str(sum % 2))add = sum // 2pointer2 = pointer2 - 1if add:res.append(str(add))return "".join(res[::-1])

相关文章:

力扣(2024.06.23)

1. 62——不同路径 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径&a…...

OpenCV颜色检测

OpenCV颜色检测 前言策略分析根据颜色检测目标对象相关链接 前言 绿幕技术是一种经典的视频编辑技术,可以用于将人物置于不同的背景中。例如在电影制作中,技术的关键在于演员不能身着特定颜色的衣服(比如绿色),站在只有绿色的背景前。然后&a…...

VScode开发ARM环境搭建

1. vscode安装 直接访问官网: Visual Studio Code - Code Editing. Redefined 2. 安装插件 2.1. 安装Embedded IDE 2.2. 安装Cortex-debug 3. 工程初始化 3.1. 导入现有工程(推荐) 3.2. 或可创建新的工程 3.2.1. 选择Cortex-M项目 指定项目名称&…...

AI-人工智能指数报告(四):科学、医学与教育

背景: 从2017年开始,斯坦福大学人工智能研究所(HAI)每年都会发布一份人工智能的研究报告,人工智能指数报告(AII),对上一年人工智能相关的数据进行跟踪、整理、提炼并进行可视化。这份…...

Redis内存数据库

Redis是一个开源的内存数据库,它可以用作缓存、数据库和消息中间件。Redis支持多种数据结构,包括字符串、哈希表、列表、集合、有序集合等,这使得它非常灵活且适用于多种用途。 以下是关于Redis的一些重要特点和功能: 内存存储&a…...

LabVIEW高精度电能质量监测系统

LabVIEW和研华采集卡的高精度电能质量监测系统利用虚拟仪器技术,实时监测电能质量的关键指标,如三相电压、频率和谐波。通过提高监测精度和效率,改善电网的电能质量。系 一、系统背景 电能作为现代社会的关键能源,其质量直接影响…...

Java程序之可爱的小兔兔

题目: 古典问题,有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 程序分析: 兔子的规律为数列1,1,2,3,…...

▶《强化学习的数学原理》(2024春)_西湖大学赵世钰 Ch5 蒙特卡洛方法【model-based ——> model-free】

PPT 截取必要信息。 课程网站做习题。总体 MOOC 过一遍 1、视频 学堂在线 习题 2、 过 电子书 是否遗漏 【下载:本章 PDF GitHub 页面链接 】 【第二轮 才整理的,忘光了。。。又看了一遍视频】 3、 过 MOOC 习题 看 PDF 迷迷糊糊, 恍恍惚惚。…...

【linux】Valgrind工具集详解(十六):交叉编译、移植到arm(失败)

1、源码下载 官网:https://valgrind.org/ 源码:https://valgrind.org/downloads/current.html 2、配置 ./configure CC=arm-linux-gnueabihf-gcc \CXX=arm-linux-gnueabihf-g++ \AR=arm-linux-gnueabihf-ar \--host=arm-linux-gnueabihf \--pr...

前端面试题(七)答案版

面试形式:线下面试:时长20分钟 特殊要求:996加班30k上限 面试评价:技术题 面试官:前端技术人员 面试官的提问大纲:本公司招聘要求本人简历 面试流程以及面试题: 第一个环节:自…...

为微信小程序项目添加eslint

背景 在使用vscode开发微信小程序的过程中,修改js的时候发现没有报错提示,让我很不习惯,所以想为微信小程序项目添加eslint配置 编码实战 为微信小程序配置ESLint可以遵循以下步骤: 安装ESLint及其相关插件 首先,…...

Win10用户必看:最好用最稳定的版本在此,值得一试!

在Win10电脑操作中,用户可以根据的需要,下载安装不同的系统版本。现在,许多用户好奇Win10哪个版本最好用最稳定?接下来小编给大家推荐最好用最稳定的Win10版本,这些系统版本经过优化升级,相信会给大家带来最…...

处理文本内容的命令和正则表达式

处理文本内容的命令 正则表达式匹配的是文本内容,linux的文本三剑客 都是针对文本内容 文本三剑客: grep 过滤文本内容 sed 针对文本内容进行增删改查 awk 按行取列 文本三剑客都是按行进行匹配。 grep grep的作用就是使用正则表达式来匹配文本内…...

AI与音乐:当技术与艺术发生冲突

AI在创造还是毁掉音乐? 在科技日新月异的今天,人工智能(AI)已经渗透到了我们生活的方方面面,音乐领域也不例外。然而,尽管AI为音乐创作带来了前所未有的便利,我却深感其正在毁掉音乐的本质。 …...

java泛型学习

没有java泛型会存在的问题 假设我们有一个方法,希望通过传递不同类型的参数,输出不同类型的对象值。正常情况下我们可能会写不同的方法来实现,但是这样会导致类不断增加,并且类方法很相似,不能够复用。进而导致类爆炸…...

vscode c++ 开发环境配置

今天各位同学已经安装了mingw环境,但部分同学vscode开发环境又问题,究其原因,还是vscode 编译环境配置错误,有问题的同学 按如下步骤处理: 1、卸载相关插件。按下列步骤重新安装插件。 2、继续在搜索框中搜索并安装 C…...

PHP安装配置

文章目录 1.下载PHP2.配置环境变量3.Apache安装配置 1.下载PHP PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法…...

std::vector<>的{}用法与stl中的共享指针

讨论 std::vector&#xff1c;&#xff1e;的{}用法比较方便&#xff0c;在stl中的共享指针中是否适用&#xff1f; 代码 #include <iostream> #include <memory> #include <vector> using namespace std;int main() {vector<int> vt1({1,3,5});vec…...

《FFmpeg开发实战:从零基础到短视频上线》资源下载和内容勘误

资源下载 下面是《FFmpeg开发实战&#xff1a;从零基础到短视频上线》一书用到的工具和代码资源&#xff1a; 1、本书使用的FFmpeg版本为FFmpeg 5.1.2&#xff0c;也可在FFmpeg的github主页上下载最新的FFmpeg源码。 2、本书第12章使用的Android Studio版本为Android Studio D…...

OpenCV目标识别

一 图像轮廓 具有相同颜色或强度的连续点的曲线。 图像轮廓的作用 可以用于图像分析 物体的识别与检测 注意 为了检测的准确性&#xff0c;需要先对图像进行二值化或Canny操作。 画轮廓时会修改输入的图像。 轮廓查找的API findContours(img,mode,ApproximationMode,...)…...

终极指南:如何使用webSpoon快速构建企业级数据集成平台

终极指南&#xff1a;如何使用webSpoon快速构建企业级数据集成平台 【免费下载链接】pentaho-kettle webSpoon is a web-based graphical designer for Pentaho Data Integration with the same look & feel as Spoon 项目地址: https://gitcode.com/gh_mirrors/pen/pent…...

从CSV文件到3D点云:用Qt+OpenGL打造一个简易的激光雷达数据查看器

从CSV文件到3D点云&#xff1a;用QtOpenGL打造激光雷达数据查看器 激光雷达技术正在重塑自动驾驶、机器人导航和三维测绘的格局。当数百万个空间数据点从激光雷达设备中喷涌而出时&#xff0c;工程师们面临着一个关键挑战&#xff1a;如何快速验证和可视化这些原始数据&#xf…...

Need is all you need:AI接手Coding后,程序员最值钱的能力只剩这一项?

闻乐 发自 凹非寺量子位 | 公众号 QbitAIAI Coding的玩法&#xff0c;又变了。如果你留意就会发现&#xff0c;Cursor、Windsurf、Claude Code这些顶流玩家&#xff0c;现在基本都不爱吹“代码生成有多快”了。话锋一转&#xff0c;全在讲“我能帮你完成多少任务”。这个微妙的…...

Cursor Free VIP:如何轻松突破AI编程助手限制的完整指南

Cursor Free VIP&#xff1a;如何轻松突破AI编程助手限制的完整指南 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your t…...

融合PlatformIO与CubeMX:打造跨平台STM32 HAL高效开发工作流

1. 为什么需要融合PlatformIO与CubeMX&#xff1f; 做STM32开发的朋友们应该都深有体会&#xff1a;CubeMX的图形化配置确实方便&#xff0c;但生成的代码往往需要手动移植到各种IDE里&#xff1b;PlatformIO支持跨平台开发&#xff0c;但直接用它配置STM32外设又不够直观。我过…...

告别手动处理!用MATLAB App Designer打造你的专属数据(图片/表格)预处理小工具

告别手动处理&#xff01;用MATLAB App Designer打造你的专属数据预处理小工具 在数据分析与科研工作中&#xff0c;我们常常陷入重复性劳动的泥潭&#xff1a;每次收到新数据集都要用不同软件打开图片查看尺寸、用Excel检查表格结构、用统计工具计算基础指标。这种碎片化操作不…...

三自由度机械臂运动学建模与求解:从DH参数到算法验证

1. 三自由度机械臂运动学基础 刚接触机械臂控制时&#xff0c;我最头疼的就是运动学建模这部分。三自由度机械臂虽然结构简单&#xff0c;但要把它的运动规律用数学语言描述清楚&#xff0c;需要建立完整的理论框架。运动学主要研究机械臂末端执行器的位置、速度和加速度与各关…...

Julia语言深度解析:高性能科学计算与机器学习实战指南

1. Julia语言&#xff1a;是技术革命还是营销泡沫&#xff1f; 最近几年&#xff0c;技术圈里关于Julia的讨论热度一直没降下来过。每次有朋友问我“该不该学Julia”或者“Julia是不是要取代Python了”&#xff0c;我都得先让他们冷静一下&#xff0c;然后从我的实际体验出发&…...

从数字臃肿到高效存储:开源视频图片压缩解决方案深度解析

从数字臃肿到高效存储&#xff1a;开源视频图片压缩解决方案深度解析 【免费下载链接】compressO Convert any video/image into a tiny size. 100% free & open-source. Available for Mac, Windows & Linux. 项目地址: https://gitcode.com/gh_mirrors/co/compress…...

CST实战指南 | 场路协同仿真中的元器件模型导入与验证

1. 场路协同仿真中的元器件模型导入基础 我第一次接触CST场路协同仿真时&#xff0c;最头疼的就是如何把各种元器件模型正确导入到仿真环境中。经过多次项目实践&#xff0c;我发现这其实是个系统性工程&#xff0c;需要根据不同的仿真场景和元器件类型采取不同的处理策略。 在…...