建网站备案需要的材料外贸营销推广

bicheng/2026/1/23 6:42:23/文章来源:
建网站备案需要的材料,外贸营销推广,郑州的兼职网站建设,海口房地产网站建设爬梯子、跳跃游戏、最小路径和、杨辉三角、接雨水。每题做详细思路梳理#xff0c;配套PythonJava双语代码#xff0c; 2024.03.05 可通过leetcode所有测试用例。 目录 70. 爬楼梯 解题思路 完整代码 Python Java 55. 跳跃游戏 解题思路 完整代码 Python 代码…        爬梯子、跳跃游戏、最小路径和、杨辉三角、接雨水。每题做详细思路梳理配套PythonJava双语代码 2024.03.05 可通过leetcode所有测试用例。 目录 70. 爬楼梯 解题思路 完整代码 Python Java 55. 跳跃游戏 解题思路 完整代码 Python 代码优化  Java 64. 最小路径和 解题思路 完整代码 Python Java 118. 杨辉三角 解题思路 完整代码 Python Java 42. 接雨水 解题思路 完整代码 Python Java 70. 爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢 示例 1 输入n 2 输出2 解释有两种方法可以爬到楼顶。 1. 1 阶 1 阶 2. 2 阶 示例 2 输入n 3 输出3 解释有三种方法可以爬到楼顶。 1. 1 阶 1 阶 1 阶 2. 1 阶 2 阶 3. 2 阶 1 阶 解题思路 这个问题是一个经典的动态规划问题可以通过动态规划的方法来解决。思路如下 定义状态定义dp[i]表示到达第i阶楼梯有dp[i]种方法。状态转移方程到达第i阶楼梯可以从第i-1阶上来也可以从第i-2阶上来。因此dp[i] dp[i-1] dp[i-2]。初始化dp[0]1没有楼梯时我们认为有一种方法dp[1]1只有一阶楼梯时只有一种方法。计算顺序从第2阶楼梯开始计算直到第n阶。 完整代码 Python class Solution:def climbStairs(self, n: int) - int:if n 1:return 1dp [0] * (n 1)dp[0], dp[1] 1, 1for i in range(2, n 1):dp[i] dp[i - 1] dp[i - 2]return dp[n]Java public class Solution {public int climbStairs(int n) {if (n 1) {return 1;}int[] dp new int[n 1];dp[0] 1;dp[1] 1;for (int i 2; i n; i) {dp[i] dp[i - 1] dp[i - 2];}return dp[n];} }55. 跳跃游戏 给你一个非负整数数组 nums 你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标如果可以返回 true 否则返回 false 。 示例 1 输入nums [2,3,1,1,4] 输出true 解释可以先跳 1 步从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。示例 2 输入nums [3,2,1,0,4] 输出false 解释无论怎样总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 所以永远不可能到达最后一个下标。提示 1 nums.length 1040 nums[i] 105 解题思路 要使用动态规划解决这个问题我们可以定义一个状态数组dp其中dp[i]表示能否到达数组中的第i个位置。动态规划的过程是从前向后逐步构建dp数组的值直到最后一个元素。 具体步骤如下 初始化创建长度为nums.length的布尔数组dp初始全部设为false。dp[0] true因为起始位置总是可达的。状态转移对于每一个位置ii从1开始到nums.length - 1遍历i之前的所有位置jj从0到i-1如果位置j是可达的即dp[j] true并且从位置j跳跃的最大长度nums[j]加上j的位置能够达到或超过i即j nums[j] i那么位置i也是可达的设置dp[i] true。返回值最后返回dp数组的最后一个值即dp[nums.length - 1]表示是否能够到达最后一个下标。 完整代码 Python class Solution:def canJump(self, nums: List[int]) - bool:dp [False] * len(nums)dp[0] True # 起始位置总是可达的for i in range(1, len(nums)):for j in range(i):# 如果j是可达的并且从j可以跳到i或更远则将i标记为可达if dp[j] and j nums[j] i:dp[i] Truebreak # 找到一个可达的j就足够了无需继续查找return dp[-1] # 返回是否可以到达最后一个位置代码优化  这个动态规划解法可通过142个测试用例有的会因为时间过长失败可以通过优化来减少其时间复杂度。原始的解法中我们使用了嵌套循环导致时间复杂度为O(n^2)。优化的思路是利用贪心算法的原理来更新一个变量记录当前能够到达的最远距离这样可以避免内层的循环将时间复杂度降低到O(n)。 class Solution:def canJump(self, nums: List[int]) - bool:maxReach 0 # 初始化最远可到达位置for i, jump in enumerate(nums):if i maxReach: # 如果当前位置i超出了之前可达的最远距离maxReach则无法到达ireturn FalsemaxReach max(maxReach, i jump) # 更新可到达的最远位置if maxReach len(nums) - 1: # 如果maxReach已经到达或超过最后一个位置则可以到达return Truereturn False # 如果遍历结束还没有返回True则表示不能到达最后一个位置Java public class Solution {public boolean canJump(int[] nums) {boolean[] dp new boolean[nums.length];dp[0] true; // 初始化起点为可达for (int i 1; i nums.length; i) {for (int j 0; j i; j) {// 如果j是可达的并且从j可以跳到i或更远则将i标记为可达if (dp[j] j nums[j] i) {dp[i] true;break; // 找到一个可达的j就足够了无需继续查找}}}return dp[nums.length - 1]; // 返回是否可以到达最后一个位置} }64. 最小路径和 给定一个包含非负整数的 m x n 网格 grid 请找出一条从左上角到右下角的路径使得路径上的数字总和为最小。 说明每次只能向下或者向右移动一步。 示例 1 输入grid [[1,3,1],[1,5,1],[4,2,1]] 输出7 解释因为路径 1→3→1→1→1 的总和最小。示例 2 输入grid [[1,2,3],[4,5,6]] 输出12提示 m grid.lengthn grid[i].length1 m, n 2000 grid[i][j] 200 解题思路 对于“最小路径和”这个问题我们同样可以使用动态规划的方法来解决。这个问题的目标是找到从左上角到右下角的路径使得路径上的数字总和为最小。 解题思路如下 定义状态dp[i][j]表示从左上角到达点(i, j)的最小路径和。状态转移方程到达点(i, j)的路径可以从上方(i-1, j)或左方(i, j-1)来因此dp[i][j] grid[i][j] min(dp[i-1][j], dp[i][j-1])。需要特别注意边界条件即当i或j为0时只有一条路径可走。初始化dp[0][0] grid[0][0]即起点的最小路径和就是其自身的值。对于第一行和第一列的其他元素因为它们只能从一个方向来要么是上边要么是左边所以可以直接累加。计算顺序从左上角开始逐行或逐列填充dp数组直到右下角。返回值dp数组右下角的值即dp[m-1][n-1]代表了从左上角到右下角的最小路径和。 完整代码 Python class Solution:def minPathSum(self, grid: List[List[int]]) - int:m, n len(grid), len(grid[0])dp [[0] * n for _ in range(m)]dp[0][0] grid[0][0]for i in range(1, m):dp[i][0] dp[i-1][0] grid[i][0]for j in range(1, n):dp[0][j] dp[0][j-1] grid[0][j]for i in range(1, m):for j in range(1, n):dp[i][j] grid[i][j] min(dp[i-1][j], dp[i][j-1])return dp[-1][-1]Java public class Solution {public int minPathSum(int[][] grid) {int m grid.length, n grid[0].length;int[][] dp new int[m][n];dp[0][0] grid[0][0];for (int i 1; i m; i) {dp[i][0] dp[i-1][0] grid[i][0];}for (int j 1; j n; j) {dp[0][j] dp[0][j-1] grid[0][j];}for (int i 1; i m; i) {for (int j 1; j n; j) {dp[i][j] grid[i][j] Math.min(dp[i-1][j], dp[i][j-1]);}}return dp[m-1][n-1];} }118. 杨辉三角 给定一个非负整数 numRows生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中每个数是它左上方和右上方的数的和。 示例 1: 输入: numRows 5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]示例 2: 输入: numRows 1 输出: [[1]]提示: 1 numRows 30 解题思路 生成杨辉三角的过程可以通过动态规划的方法来实现。每一行的数字是基于上一行的数字计算得来的具体规则是每一行的第一个和最后一个数字都是1对于其中的其他数字即第i行的第j个数字行列均从0开始计数可以通过上一行的第j-1个数字和第j个数字之和获得即triangle[i][j] triangle[i-1][j-1] triangle[i-1][j]。 解题思路如下 初始化初始化一个列表triangle来存储整个杨辉三角。外层循环从第0行遍历到第numRows-1行。 每一行初始化一个列表row首个元素设为1因为每行的开始都是1。内层循环从第1个元素遍历到当前行的倒数第二个元素因为每行的最后一个元素也是1已经确定。 根据triangle[i][j] triangle[i-1][j-1] triangle[i-1][j]的规则计算当前位置的元素并添加到当前行列表row中。行尾处理在每一行的最后添加1每行的结束都是1。将当前行添加到杨辉三角中将构建好的当前行row添加到triangle中。返回结果返回triangle。 完整代码 Python class Solution:def generate(self, numRows: int) - List[List[int]]:triangle []for i in range(numRows):row [None for _ in range(i 1)] # 初始化当前行row[0], row[-1] 1, 1 # 每行的开始和结束都是1for j in range(1, len(row) - 1): # 计算中间的值row[j] triangle[i-1][j-1] triangle[i-1][j]triangle.append(row) # 将当前行添加到杨辉三角中return triangleJava public class Solution {public ListListInteger generate(int numRows) {ListListInteger triangle new ArrayListListInteger();for (int i 0; i numRows; i) {ListInteger row new ArrayListInteger();for (int j 0; j i; j) {if (j 0 || j i) { // 每行的开始和结束都是1row.add(1);} else {row.add(triangle.get(i-1).get(j-1) triangle.get(i-1).get(j)); // 计算中间的值}}triangle.add(row); // 将当前行添加到杨辉三角中}return triangle;} }42. 接雨水 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图计算按此排列的柱子下雨之后能接多少雨水。 示例 1 输入height [0,1,0,2,1,0,1,3,2,1,2,1] 输出6 解释上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图在这种情况下可以接 6 个单位的雨水蓝色部分表示雨水。 示例 2 输入height [4,2,0,3,2,5] 输出9提示 n height.length1 n 2 * 10^40 height[i] 10^5 解题思路 接雨水问题可以通过动态规划来解决。核心思想是计算每个柱子上方能接多少雨水这取决于该柱子左右两侧最高柱子的高度。具体来说某个位置能接的雨水量等于该位置左侧最高柱子和右侧最高柱子中较矮的一个的高度减去当前柱子的高度。 动态规划的步骤如下 计算每个位置的左侧最大高度遍历一次高度数组height计算每个位置左侧的最大高度存储在数组leftMax中。计算每个位置的右侧最大高度再次遍历高度数组height但这次是从右向左遍历计算每个位置右侧的最大高度存储在数组rightMax中。计算每个位置上方能接的雨水量遍历每个位置使用min(leftMax[i], rightMax[i]) - height[i]来计算每个位置上方能接的雨水量。如果这个值是负数则说明在该位置不会积水因此将其视为0。求和将每个位置上方能接的雨水量相加得到总的接雨水量。 完整代码 Python class Solution:def trap(self, height: List[int]) - int:if not height:return 0n len(height)leftMax [0] * nrightMax [0] * nwater 0leftMax[0] height[0]for i in range(1, n):leftMax[i] max(leftMax[i-1], height[i])rightMax[n-1] height[n-1]for i in range(n-2, -1, -1):rightMax[i] max(rightMax[i1], height[i])for i in range(n):water min(leftMax[i], rightMax[i]) - height[i]return waterJava public class Solution {public int trap(int[] height) {if (height null || height.length 0) {return 0;}int n height.length;int[] leftMax new int[n];int[] rightMax new int[n];int water 0;leftMax[0] height[0];for (int i 1; i n; i) {leftMax[i] Math.max(leftMax[i-1], height[i]);}rightMax[n-1] height[n-1];for (int i n-2; i 0; i--) {rightMax[i] Math.max(rightMax[i1], height[i]);}for (int i 0; i n; i) {water Math.min(leftMax[i], rightMax[i]) - height[i];}return water;} }------------------------------ 总结不易。看到这了觉得有用的话点个赞吧。

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

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

相关文章

江西建设局网站深圳入户

C语言刷题 博主用的刷题网站:题库 - 蓝桥云课 (lanqiao.cn) 小伙伴们可以去试试!!! First question 题目:成绩统计 题目描述:小蓝给学生们组织了一场考试,卷面总分为 100 分,每…

惠州app网站建设排行榜网站设计创意方案

在实际项目中,为了方便线上排查问题,尤其是微服务之间调用链路比较复杂的系统中,通过可视化日志的手段仍然是最直接也很方便的排查定位问题的手段,比如大家熟悉的ELK就是一种比较成熟的可视化日志展现方式,在skywalkin…

网站建设工作总结范文京紫元年网站建设

有些人对术语 WM_USER 表示消息范围基的名称有不同的意见,因为 WM_USER 是由窗口类的实现者来定义的。他们抱怨的是,用户不能使用它们,因为它们属于窗口类定义的一部分。 但是,问题是,”这里的用户是谁?”…

专业管道疏通网站建设图片网站推广的技能

你应该始终在setup()钩子或<script setup>中同步调用你的composables。调用composables时&#xff0c;最好不要使用await或Promise.all()。例如&#xff0c;以下使用setup()钩子的代码是不推荐的&#xff1a; <script> import { ref, watch, onMounted, onUnmounte…

南上海网站建设教你如何建设网站阿里去

DELL PowerEdge R540服务器故障维修案例&#xff1a;&#xff08;看到文章就是缘分&#xff09; 客户名称&#xff1a;东莞市某街道管理中心 故障机型&#xff1a;DELL R540服务器 故障问题&#xff1a;DELL R540服务器无法开机&#xff0c;前面板亮黄灯&#xff0c;工程师通过…

wordpress站群教程郑州核酸点推vip服务

下面算法编写的均是按照由小到大顺序进行排序版本 选择排序 思想&#xff1a; 每次遍历待排序元素的最大下标&#xff0c;与待排序元素中最后一个元素交换位置&#xff08;此时需要设置一个临时变量来存放下标&#xff09; 时间复杂度--O(n^2)空间复杂度--O(1)稳定性--不稳定 代…

网站推广费用价格windows8 网站建站命令

项目场景&#xff1a; 在电商、支付等领域&#xff0c;往往会有这样的场景&#xff0c;用户下单后放弃支付了&#xff0c;那这笔订单会在指定的时间段后进行关闭操作&#xff0c;细心的你一定发现了像某宝、某东都有这样的逻辑&#xff0c;而且时间很准确&#xff0c;误差在1s内…

徐州网站制作方案安卓软件开发自学教程

【简 介】  基于Web的动态网页设计必会涉及到页面间的数据传递&#xff0c;文章探讨了ASP设计中常用的Web页面间的数据传递方式&#xff0c;分析各种数据传递方式的使用方法、使用场合及优缺点&#xff0c;其都是设计阶段选择数据传递方式考虑的关键 往往使用动态网页技术制作…

浦东新区网站建设推广建设网站建站公司

根据美国商标和专利局&#xff08;USPTO&#xff09;公示的清单&#xff0c;苹果获得了一项健康相关的技术专利&#xff0c;可以利用 iPhone、Apple Watch 来分析佩戴者的呼吸系统。 苹果在专利中概述了一种测量用户呼吸功能的系统&#xff0c;通过 iPhone 上的光学感测单元&am…

钟表珠宝商城网站建设网站推广优化方法

作者&#xff1a;Kief Morris 译者&#xff1a;冬哥 原文&#xff1a;https://infrastructure-as-code.com/book/2021/01/02/pull-requests.html 前 言 Github 引入了Pull Request拉取请求&#xff08;简称PR&#xff09;实践和相关的支持功能&#xff0c;使运行开源项目的人…

上市公司网站建设要求自己什么建设网站

idea如果和jdk版本不对应&#xff0c;就会出现无法运行的情况&#xff0c;如下&#xff1a; 翻译&#xff1a;无法确定17的“tools.jar”库的路径&#xff08;C:\Program Files\Java\jdk-17&#xff09; 原因&#xff1a;idea版本是2020.2&#xff0c;而jdk版本是17&#xff0…

河南企业网站建设建公司网站建设明细报价表

一、 JVM部分 JVM内存溢出(一)之排查初体验_少负 | 气节的博客-CSDN博客 JVM内存溢出(二)之双亲委派机制_少负 | 气节的博客-CSDN博客 JVM内存溢出(三)之JVM8内存模型_少负 | 气节的博客-CSDN博客 JVM内存溢出(四)之垃圾回收器_少负 | 气节的博客-CSDN博客 JVM内存溢出(五…

网站做受网站浦东网站开发培训班

二. 构造/析构/赋值运算 5. 了解C默默编写并调用哪些函数 唯有当这些函数被调用&#xff0c;他们才会被编译器创建出来。 请记住&#xff1a; ‌‌‌‌  编译器可以暗自为class创建default构造函数、copy构造函数、copy assignment操作符&#xff0c;以及析构函数。 6. 若…

专业单位网站建设wordpress wp_rewrite

在当今数字化转型的时代&#xff0c;企业面临着日益复杂和快速变化的商业环境。知识管理成为了企业成功的关键之一。有效地管理和利用知识资源可以提升企业的创新能力、决策质量和竞争力。以下我列了一些关键的点&#xff0c;讲讲在数字化转型背景下&#xff0c;企业如何可以做…

微信小程序怎么做网站网页设计模板素材图书馆

Jackson介绍 Jackson是Java最受欢迎的JSON类库之一&#xff0c;包含两个不同的解析器&#xff1a; Jackson ObjectMapper&#xff0c;将JSON转化为Java对象&#xff0c;或者转换为Jackson特定的树结构Jackson JsonParser&#xff0c;JSON流解析器&#xff0c;每次只解析一个J…

建设网站需要几部分搭建一个自己的网站

&#x1f389;&#x1f389;欢迎光临&#xff0c;终于等到你啦&#x1f389;&#x1f389; &#x1f3c5;我是苏泽&#xff0c;一位对技术充满热情的探索者和分享者。&#x1f680;&#x1f680; &#x1f31f;持续更新的专栏《Spring 狂野之旅&#xff1a;从入门到入魔》 &a…

公司网站建设需求说明书关于做网站常见的问题

//给定二叉树的根节点 root &#xff0c;返回所有左叶子之和。 // // // // 示例 1&#xff1a; // // // // //输入: root [3,9,20,null,null,15,7] //输出: 24 //解释: 在这个二叉树中&#xff0c;有两个左叶子&#xff0c;分别是 9 和 15&#xff0c;所以返回 24 //…

公司弄个网站多少钱微信微网站制作公司

“几何画板是一种常用的数学软件&#xff0c;具有强大的绘图功能&#xff0c;也为我们探究椭圆的不同绘制方法提供了平台.在探究过程中&#xff0c;我们遇到了一些麻烦和困难&#xff0c;但也获得了很多意想不到的惊喜和收获&#xff01;我们将椭圆的绘制方法分为七类&#xff…

网站打开速度慢wordpress网站开发的形式有( )

IEEE Micro 2023 Paper CXL论文阅读笔记整理 问题 计算快速链路&#xff08;CXL&#xff09;协议是系统社区的一个重要里程碑。CXL提供了标准化的缓存一致性内存协议&#xff0c;可用于将设备和内存连接到系统&#xff0c;同时保持与主机处理器的内存一致性。CXL使加速器&…

网站建设推广行业太原网络营销策划

1. Coverage - 衡量测试的覆盖率 我们已经掌握了如何进行单元测试。接下来,一个很自然的问题浮现出来,我们如何知道单元测试的质量呢?这就提出了测试覆盖率的概念。覆盖率测量通常用于衡量测试的有效性。它可以显示您的代码的哪些部分已被测试过,哪些没有。 coverage.py …