
算法
文章平均质量分 66
Ws_
努力的おうしん
展开
-
leetcode 3285 找到稳定山的下标
座山排成一列,每座山都有一个高度。的一座山,如果它左侧相邻的山的高度。座山的高度,再给你一个整数。请你返回一个数组,包含所有。原创 2024-12-20 22:31:18 · 363 阅读 · 0 评论 -
稀土掘金 DNA序列编辑距离
小R正在研究DNA序列,他需要一个函数来计算将一个受损DNA序列(dna1)转换成一个未受损序列(dna2)所需的最少编辑步骤。编辑步骤包括:增加一个碱基、删除一个碱基或替换一个碱基。要解决这个问题,我们可以使用动态规划(Dynamic Programming)来计算将一个DNA序列转换成另一个DNA序列所需的最少编辑步骤。通过以上步骤,我们可以逐步构建出动态规划表,并最终得到所需的最少编辑步骤。所需的最少编辑步骤。个字符所需的最少编辑步骤。我们可以使用一个二维数组。原创 2024-12-05 22:14:19 · 392 阅读 · 0 评论 -
leetcode LCP 开幕式焰火
力扣挑战赛」开幕式开始了,空中绽放了一颗二叉树形的巨型焰火。给定一棵二叉树root代表焰火,节点值表示巨型焰火这一位置的颜色种类。请帮小扣计算巨型焰火有多少种不同的颜色。3解释:焰火中有 3 个不同的颜色,值分别为 1、2、31解释:焰火中仅出现 1 个颜色,值为 3为了解决这个问题,我们需要遍历二叉树并收集所有节点的值,然后计算这些值中不同的数量。我们可以使用深度优先搜索(DFS)或广度优先搜索(BFS)来遍历二叉树。这里,我将使用DFS来解决这个问题。原创 2024-12-03 19:06:55 · 398 阅读 · 0 评论 -
leetcode LCP期待个数统计
如果一个面试者的能力值是唯一的,那么他在两个浏览顺序中出现在同一位置的概率是 1。如果一个面试者的能力值与其他人相同,那么他在两个浏览顺序中出现在同一位置的概率是 1kk1,其中 kk 是具有相同能力值的面试者数量。对于每个能力值,期望值是具有该能力值的面试者数量乘以每个面试者在两个浏览顺序中出现在同一位置的概率。这就是小 A 和小 B 的浏览顺序中出现在同一位置的简历数的期望值。最后,我们只需要计算不同的能力值的数量,这就是小 A 和小 B 的浏览顺序中出现在同一位置的简历数的期望值。原创 2024-12-03 18:50:36 · 1142 阅读 · 0 评论 -
稀土掘金 数字分组求偶数和
小M面对一组从 1 到 9 的数字,这些数字被分成多个小组,并从每个小组中选择一个数字组成一个新的数。目标是使得这个新数的各位数字之和为偶数。任务是计算出有多少种不同的分组和选择方法可以达到这一目标。原创 2024-12-02 21:52:43 · 239 阅读 · 0 评论 -
稀土掘金第二题 徒步旅行中的补给问题
为了在旅途中保持充足的能量,小R每天必须消耗1份食物。幸运的是,小R在路途中每天都会经过一个补给站,可以购买食物进行补充。然而,每个补给站的食物每份的价格可能不同,并且小R最多只能同时携带。现在,小R希望在保证每天都有食物的前提下,以最小的花费完成这次徒步旅行。你能帮助小R计算出最低的花费是多少吗?小R正在计划一次从地点A到地点B的徒步旅行,总路程需要。原创 2024-11-28 22:17:30 · 444 阅读 · 0 评论 -
leetcode 按分隔符拆分字符串
因此,结果数组为 ["one","two","three","four","five","six"]。最终,经过上述的循环和筛选操作,会得到一个满足条件的子字符串列表,这个列表就是该方法最终要返回的结果。在本示例中,"|||" 的拆分结果将只包含一些空字符串,所以我们返回一个空数组 []。"one.two.three" 拆分为 "one", "two", "three""four.five" 拆分为 "four", "five"因此,结果数组为 ["easy","problem"]。原创 2024-11-28 21:58:38 · 966 阅读 · 0 评论 -
稀土掘金AI刷题第一题:找单独的数
这种方法的时间复杂度是O(n^2),因为我们需要对每个元素都进行一次完整的遍历。有趣的是,除了一个数字之外,所有的数字都恰好出现了两次。现在需要你帮助班长小C快速找到那个拿了独特数字卡片的同学手上的数字是什么。在题目中,除了一个数字之外,所有的数字都恰好出现了两次。通过这种方式,我们可以在不使用额外空间的情况下,高效地找到唯一不重复的数字。解释:拿到数字 4 的同学是唯一一个没有配对的。的每一位都与自己相同,所以每一位的结果都是0。解释:数字 2 只出现一次,是独特的卡片。,即唯一不重复的数字。原创 2024-11-27 22:12:55 · 693 阅读 · 0 评论 -
leetcode 有效的完全平方数
已解答简单相关标签相关企业给你一个正整数num。如果num是一个完全平方数,则返回true,否则返回false。是一个可以写成某个整数的平方的整数。换句话说,它可以写成某个整数和自身的乘积。不能使用任何内置的库函数,如sqrt。num = 16true返回 true ,因为 4 * 4 = 16 且 4 是一个整数。num = 14false返回 false ,因为 3.742 * 3.742 = 14 但 3.742 不是一个整数。原创 2024-11-27 21:49:56 · 322 阅读 · 0 评论 -
leetcode x 的平方根
8 的算术平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。不允许使用任何内置指数函数和算符,例如。由于返回类型是整数,结果只保留。原创 2024-11-27 21:39:14 · 273 阅读 · 0 评论 -
leetcode 二叉树的最大深度
方法二:层序遍历(BFS)树的层序遍历 / 广度优先搜索往往利用队列实现。关键点:每遍历一层,则计数器+1,直到遍历完成,则可得到树的深度。在计算二叉树的最大深度时,我们也可以使用广度优先搜索(BFS)来实现。BFS 会按层遍历二叉树,因此每遍历完一层,深度就增加 1。使用 BFS 的优点是,它逐层访问节点,可以在找到最远叶子节点时直接得出最大深度。从根节点开始,将其加入队列,并初始化深度为 0。每一层的节点都会被处理,并在遍历该层的所有节点后,深度增加 1。当队列为空时,说明所原创 2024-11-26 14:44:49 · 938 阅读 · 0 评论 -
leetcode 无重复字符的最长子串
请你找出其中不含有重复字符的。原创 2024-11-25 21:10:57 · 200 阅读 · 0 评论 -
leetcode 两两交换链表中的节点
已解答中等相关标签相关企业给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。[2,1,4,3]head = [][]head = [1][1][0, 100]类定义了链表的节点,包含一个值val和一个指向下一个节点的指针next。Solution类中的swapPairs方法用于交换链表中相邻的节点。原创 2024-11-20 22:40:30 · 360 阅读 · 0 评论 -
leetcode 删除有序数组的重复项
需要注意的是,这个解决方案虽然简洁,但它并没有遵循LeetCode题目的要求,即在原地修改数组,不使用额外的空间(空间复杂度为O(1))。这段代码使用了额外的空间来存储集合和排序后的列表,因此空间复杂度不是O(1)。此外,题目要求保持数组的有序性,但这段代码通过排序破坏了原有的顺序。正确的解决方案应该在不使用额外空间的情况下,遍历数组并移除重复项,同时保持数组的有序性。这种方法的时间复杂度为O(n),其中n是数组的长度,因为它只需要遍历一次数组。,返回删除后数组的新长度。删除重复出现的元素,使每个元素。原创 2024-11-19 22:47:43 · 960 阅读 · 0 评论 -
leetcode 反转链表
通过这种方式,链表中的每个节点都被依次反转,直到整个链表被完全反转。通过这种方式,链表中的每个节点都被依次反转,直到整个链表被完全反转。链表可以选用迭代或递归方式完成反转。你能否用两种方法解决这道题?用于跟踪已经反转的链表部分的最后一个节点,用于跟踪已经反转的链表部分的最后一个节点,,请你反转链表,并返回反转后的链表。,它指向了反转后链表的头节点。,它指向了反转后链表的头节点。的下一个节点,以便在反转。的下一个节点,以便在反转。原创 2024-11-19 20:42:22 · 296 阅读 · 0 评论 -
leetcode 找不同
这种方法的时间复杂度是 O(n),其中 n 是字符串的长度,因为我们需要遍历整个字符串来构建。空间复杂度也是 O(n),因为我们需要存储两个字符串中所有字符的计数。中被添加的字母,我们可以利用字符频率的概念。对象的差集,我们可以直接找到这个多出来的字母。随机重排,然后在随机位置添加一个字母。的类,这个类将包含解决这个问题的方法。随机重排后添加一个字母形成的,所以。中每个字母出现的次数,然后遍历。多一次的字母就是被添加的字母。的方法,它接受两个字符串参数。'e' 是那个被添加的字母。,它们只包含小写字母。原创 2024-11-18 22:29:24 · 1047 阅读 · 0 评论 -
leetcode 移动零
移动到数组的末尾,同时保持非零元素的相对顺序。,必须在不复制数组的情况下原地对数组进行操作。你能尽量减少完成的操作次数吗?,编写一个函数将所有。原创 2024-11-16 14:50:52 · 396 阅读 · 0 评论 -
leetcode 最长连续序列
已解答中等相关标签相关企业给定一个未排序的整数数组nums,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为O(n)的算法解决此问题。4最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。9。原创 2024-11-15 21:35:39 · 378 阅读 · 0 评论 -
leetcode LCR 068 搜索插入位置
已解答简单相关标签相关企业给定一个排序的整数数组nums和一个整数目标值target,请在数组中找到target,并返回其下标。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为O(log n)的算法。21400。原创 2024-11-14 16:43:48 · 861 阅读 · 0 评论 -
leetcode367 有效的完全平方数
给你一个正整数num。如果num是一个完全平方数,则返回true,否则返回false。是一个可以写成某个整数的平方的整数。换句话说,它可以写成某个整数和自身的乘积。不能使用任何内置的库函数,如sqrt。num = 16true返回 true ,因为 4 * 4 = 16 且 4 是一个整数。num = 14false返回 false ,因为 3.742 * 3.742 = 14 但 3.742 不是一个整数。原创 2024-11-07 18:10:58 · 230 阅读 · 0 评论 -
蓝桥杯 python day03 查找两个总和为特定值的索引
查找两个总和为特定值的索引。查找两个总和为特定值的索引题目描述给定一个数组,找到两个总和为特定值的索引。例如给定数组 [1, 2, 3, -2, 5, 7],给定总和 7,则返回索引 [1, 4]。若有多组符合情况则输出索引对中小索引最小的一组。输入描述第一行为给定数组的长度,不超过 100。第二行为数组元素,元素大小不超过 100(可能为负数)。第三行为特定值。输出描述输出一行,为两个索引值,升序输出。输入输出样例原创 2024-11-05 19:38:50 · 172 阅读 · 0 评论 -
leetcode-有效的字母异位词
leetcode-有效的字母异位词如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况?,编写一个函数来判断。给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。原创 2024-11-04 20:38:17 · 318 阅读 · 0 评论 -
leetcode415 字符串相加
已解答简单相关标签相关企业给定两个字符串形式的非负整数num1和num2,计算它们的和并同样以字符串形式返回。你不能使用任何內建的用于处理大整数的库(比如BigInteger), 也不能直接将输入的字符串转换为整数形式。原创 2024-11-01 10:57:17 · 670 阅读 · 0 评论 -
蓝桥杯 python day02 第二题
第二行输入 nn 个正整数 a1,a2,…,ana1,a2,…,an(1≤ai≤1051≤ai≤105)。给定 nn 个正整数 a1,a2,…,ana1,a2,…,an,你可以将它们任意排序。现要将这 nn 个数字连接成一排,即令相邻数字收尾相接,组成一个数。第一行输入一个正整数 nn(1≤n≤201≤n≤20)。问,这个数最大可以是多少。输出一个整数,表示答案。原创 2024-11-01 00:13:42 · 346 阅读 · 0 评论 -
leetcode 704 二分查找
已解答简单相关标签相关企业给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。numstarget= 949 出现在nums中并且下标为 4numstarget= 2-12 不存在nums中因此返回 -1numsn[1, 10000]nums。原创 2024-10-31 22:33:11 · 876 阅读 · 0 评论 -
蓝桥杯 python day01 第一题
确定字符串是否包含唯一字符。原创 2024-10-30 20:59:47 · 1061 阅读 · 0 评论 -
Codeforces Round 981(Div. 3)
【代码】Codeforces Round 981(Div. 3)原创 2024-10-24 23:54:30 · 939 阅读 · 0 评论 -
循环控制结构穷举 同构数
同构数是会出现在它的平方的右边的数。例如,5就是1个同构数。5的平方是25,25最右边的这个数是5自己。25也是一个同构数,比如25的平方是625,而625右边的数是25.很明显的,1000以内正整数中的同构数不止这两个。请编程输出1000以内。原创 2024-10-22 19:02:15 · 218 阅读 · 0 评论 -
B2050 三角形判断
输入共一行,包含三个正整数,分别表示三条线段的长度,数与数之间以一个空格分开。(三条边的长度均不超过 1000010000)给定三个正整数,分别表示三条线段的长度,判断这三条线段能否构成一个三角形。任意两边长度之和大于第三条边的长度。如果能构成三角形,则输出。原创 2024-10-14 22:20:05 · 348 阅读 · 0 评论 -
P327. 渔夫捕鱼算法问题
A、B、C、D、E 这5个人合伙夜间捕鱼,凌晨时都已经疲惫不堪,于是各自在河边的树丛中找地方睡着了。第二天日上三竿时,A第一个醒来,他将鱼平分为5份,把多余的一条扔回河中,然后拿着自己的一份回家去了;B第二个醒来,但不知道A已经拿走了一份鱼,于是他将剩下的鱼平分为5份,扔掉多余的一条,然后只拿走了自己的一份;根据题目描述,每个人在分鱼时都将剩余的鱼平均分为5份,并将多余的鱼扔回河中。尝试从初始的鱼的数量开始逐步检查每个渔夫醒来后的鱼的数量。在这个问题中,你的代码通过正推方法成功找到满足条件的鱼的数量。原创 2024-10-13 23:51:29 · 1076 阅读 · 0 评论 -
T1308. 【例1.5】高精除
这个题目要求我们计算两个高精度数的商和余数。由于传统的整数类型无法处理如此大的数,我们需要使用编程语言提供的高精度数支持,或者手动实现大数运算。可以采用Python来解决这个问题,Python自带的整数类型支持任意精度运算,直接使用。这个题目利用了Python对大整数的支持,避免了手动处理大数的复杂性。高精除以高精,求它们的商和余数。输入两个低于300位的正整数。进行整数除法(获取商)和。进行取模(获取余数)。原创 2024-10-11 23:39:18 · 570 阅读 · 0 评论 -
整型与布尔型的转换
将一个整型变量的值赋给一个布尔型变量,再将这个布尔型变量的值赋给一个整型变量,得到的值是多少?一个整型范围内的整数,即初始时整型变量的值。一个整数,经过上述过程后得到的结果。原创 2024-10-13 21:26:35 · 469 阅读 · 0 评论 -
回文数题解
对于每组输入数据,输出最少经过几步可以得到回文数。如果在30步以内(包含30步)不可能得到回文数,则输出"Impossible!每个测试文件只包含一组测试数据,每组输入一个N(2原创 2024-10-09 20:23:08 · 431 阅读 · 0 评论 -
力扣198-打家劫舍
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,。给定一个代表每个房屋存放金额的非负整数数组,计算你,一夜之内能够偷窃到的最高金额。[1,2,3,1]4偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 1 + 3 = 4。12偷窃 1 号房屋 (金额 = 2), 偷窃 3 号房屋 (金额 = 9),接着偷窃 5 号房屋 (金额 = 1)。原创 2024-09-18 17:32:21 · 428 阅读 · 0 评论 -
力扣2138-将字符串拆分为若干长度为 k 的组已解答简单
字符串s可以按下述步骤划分为若干长度为kkkkfill注意,在去除最后一个组的填充字符fill(如果存在的话)并按顺序连接所有的组后,所得到的字符串应该是s。给你一个字符串s,以及每组的长度k和一个用于填充的字符fill,按上述步骤处理之后,返回一个字符串数组,该数组表示s分组后。前 3 个字符是 "abc" ,形成第一组。接下来 3 个字符是 "def" ,形成第二组。最后 3 个字符是 "ghi" ,形成第三组。由于所有组都可以由字符串中的字符完全填充,所以不需要使用填充字符。原创 2024-09-15 20:31:02 · 437 阅读 · 0 评论 -
B. osu!mania
B. osu!maniatime limit per test1 secondmemory limit per test256 megabytesYou are playing your favorite rhythm game, osu!mania. The layout of your beatmap consists ofnnrows and44columns. Because notes at the bottom are closer, you will process原创 2024-09-14 23:01:09 · 1004 阅读 · 0 评论 -
力扣3014.输入单词需要的最少按键次数I
给你一个字符串word,由小写英文字母组成。电话键盘上的按键与小写英文字母集合相映射,可以通过按压按键来组成单词。例如,按键2对应,我们需要按一次键来输入"a",按两次键来输入"b",按三次键来输入"c"。现在允许你将编号为2到9的按键重新映射到字母集合。每个按键可以映射到的字母,但每个字母映射到按键上。你需要找到输入字符串word所需的按键次数。返回重新映射按键后输入word所需的按键次数。下面给出了一种电话键盘上字母到按键的映射作为示例。注意1和0对应任何字母。5。原创 2024-09-13 22:58:01 · 1034 阅读 · 0 评论 -
B - 02-计算球的体积 51Nod - 3266
已知两个非负整数 A,B ,请你求出 A+B 的值并输出这个加法算式。原创 2024-08-04 01:57:09 · 234 阅读 · 0 评论 -
A+B V2 51Nod - 3415
已知两个非负整数A,BA,B,请你求出A+BA+B的值并输出这个加法算式。Input输入两个整数A,BA,B;Output输出一个加法算式,形如“A+B=A+B=计算结果”。字符间不包含空格。Data Description对于100%100%的数据,0≤A,B≤1090≤A,B≤109;原创 2024-08-04 01:44:05 · 227 阅读 · 0 评论 -
C - Eight HDU - 1043
The 15-puzzle has been around for over 100 years; even if you don't know it by that name, you've seen it. It is constructed with 15 sliding tiles, each with a number from 1 to 15 on it, and all packed into a 4 by 4 frame with one tile missing. Let's call t原创 2024-08-04 01:37:50 · 1106 阅读 · 0 评论