- 博客(14)
- 收藏
- 关注
原创 【leetcode3】无重复字符的最长子串
思路,滑动窗口法,用两个指针,如果右指针指向数字重复,则丢掉左指针指向元素,直到不重复为止。,请你找出其中不含有重复字符的。
2025-03-09 16:14:06
93
原创 【Leetcode274】H指数
篇论文被引用的次数。计算并返回该研究者的 h。代表“高引用次数” ,一名科研人员的。篇论文被引用次数大于等于。是指他(她)至少发表了。
2025-03-07 14:51:35
112
原创 【Leetcode72】编辑距离
dp = [[0]* (len(word2+1) for _ in range(len(word1)+1)]#因为第一行和第一列是空字符串,所以应应该+1。同时dp[1][1]对应的是word1[0]和word2[0]增/删:dp[i][j] = min(dp[i-1][j]+1,dp[i][j-1]+1)改:dp[i][j] = dp[i-1][j-1]+1。如果word1[i-1] = word2[j-1]: dp[i][j] = dp[i-1][j-1],不需要操作。那么最终选择哪个值呢?
2025-02-28 11:43:51
210
原创 【leetcode1143】最长公共子序列
初始化:dp[i][j]取决于dp[i-1][j-1]或者dp[i-1][j]或者dp[i][j-1],既dp[i][j]的左方、上方或者左上方,所以应该初始化dp[i][0]和dp[0][j](即为第一行和第一列),遍历顺序为从左到右,从上到下。如果text1[i]和text2[j]相同,则dp[i][j] = dp[i-1][j-1]+1。否则,dp[i][j] = max(dp[i-1][j],dp[i][j-1])最长公共子序列是 "ace" ,它的长度为 3。是这两个字符串所共同拥有的子序列。
2025-02-26 19:42:37
147
原创 【Deepseek】如何调用deepseek api以及ollama本地部署
把ollama run deepseek-r1复制进去,然后就会开始下载(我已经下载完了)然后再ollama library找到deepseek r1(第一个就是)或者 我们也可以在ollama上本地部署api。点击创建api key即可生成自己的api。来源自deepseek官网。在右上角点击API开放平台,那么在哪里生成api呢?首先,要下载ollama。然后就可以在本地使用啦~现在并调用不了api。
2025-02-22 01:33:11
574
原创 【Leetcode416】分割等和子集
思路:如果这两个子集的和没别是sun(nums)的一半,则返回True。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。【方法一】回溯法,找到所有的子集(时间复杂度高,最终超出时间限制)为什么这里是dp[j],因为该公式是由二维递推公式压缩得来的。所以最终的目标是dp[target] == target。数组可以分割成 [1, 5, 5] 和 [11]。为什么是target+1,假设dp = [0]j为背包的容量 dp[j] 背包最大的价值。数组不能分割成两个元素和相等的子集。
2025-02-21 16:22:19
149
原创 【Leetcode198】打家劫舍
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,偷窃 1 号房屋 (金额 = 2), 偷窃 3 号房屋 (金额 = 9),接着偷窃 5 号房屋 (金额 = 1)。偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 2 + 9 + 1 = 12。偷窃到的最高金额 = 1 + 3 = 4。Step1: 确定dp[i]的含义。,一夜之内能够偷窃到的最高金额。Step4:遍历顺序。
2025-02-20 14:01:02
178
原创 【Leetcode118】杨辉三角
在「杨辉三角」中,每个数是它左上方和右上方的数的和。从最上面一行到最下面一行,从每行第一个数到最后一个。此题与爬楼梯的区别主要在于dp从一维变成了二维。Step1: 确定dp[i][j]的含义。生成「杨辉三角」的前 numRows。给定一个非负整数 numRows。Step3: dp数组如何初始化。杨辉三角种第i行第j列个数。初始一个数值全为1的三角。Step5:打印dp数组。Step2: 递推公式。Step4:遍历顺序。
2025-02-19 15:49:05
429
原创 【Leetcode70】爬楼梯
从前到后 for i in range(3,n+1)发现规律 f(n) = f(n-1)+f(n-2)你有多少种不同的方法可以爬到楼顶呢?1. 1 阶 + 1 阶 + 1 阶。有两种方法可以爬到楼顶。1. 1 阶 + 1 阶。有三种方法可以爬到楼顶。2. 1 阶 + 2 阶。3. 2 阶 + 1 阶。所以可以用递归的方式。爬i个台阶有多少种方法。学习代码随想录的方法。
2025-02-19 15:22:36
106
原创 【leetcode763】划分字母区间
像 "ababcbacadefegde", "hijhklij" 这样的划分是错误的,因为划分的片段数较少。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。划分结果为 "ababcbaca"、"defegde"、"hijhklij"。注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是。返回一个表示每个字符串片段的长度的列表。如果包含了a 则需要包含所有的a。如果包含了b 则需要包含所有的b。如果包含了c 则需要包含所有的c。每个字母最多出现在一个片段中。
2025-02-18 15:55:03
289
原创 【leetcode55】贪心算法
无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远不可能到达最后一个下标。可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。思路:计算每个位置能跳到的最远范围,然后判断最远范围是否可以覆盖数组的最后一个元素。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回。所以找到最大覆盖位置即可。给你一个非负整数数组。可以覆盖最后一个元素。覆盖不到最后一个元素。
2025-02-17 14:00:15
113
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人