
算法
文章平均质量分 61
Gowi_fly
这个作者很懒,什么都没留下…
展开
-
LeetCode 287 寻找重复数字
给定一个包含n + 1个整数的数组nums,其数字都在[1, n]范围内(包括1和n),可知至少存在一个重复的整数。假设nums只有,返回。你设计的解决方案必须数组nums且只用常量级O(1)的额外空间。原创 2024-04-22 16:58:33 · 719 阅读 · 0 评论 -
LeetCode279 完全平方数
是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,149和16都是完全平方数,而3和11不是。原创 2024-04-22 12:01:33 · 452 阅读 · 0 评论 -
LeetCode238 除自身以外数组的乘积
给你一个整数数组nums,返回数组answer,其中answer[i]等于nums中除nums[i]之外其余各元素的乘积。题目数据数组nums之中任意元素的全部前缀元素和后缀的乘积都在整数范围内。请 **不要使用除法,**且在O(*n*)时间复杂度内完成此题。nums。原创 2024-04-21 13:04:09 · 277 阅读 · 0 评论 -
LeetCode-236二叉树的最近公共祖先
给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大([2, 105]Node.val互不相同p!= qpq。原创 2024-04-14 13:14:11 · 376 阅读 · 0 评论 -
LeetCode -55 跳跃游戏
给你一个非负整数数组nums,你最初位于数组的。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回true;否则,返回false。原创 2024-03-02 22:40:27 · 592 阅读 · 0 评论 -
LeetCode 79 子集
给你一个整数数组nums,数组中的元素。返回该数组所有可能的子集解集包含重复的子集。你可以按返回解集。原创 2024-03-07 14:35:02 · 484 阅读 · 0 评论 -
LeetCode 31 下一个排列
就是在这个有序容器中排在它后面的那个排列。如果不存在下一个更大的排列,那么这个数组必须重排为字典序最小的排列(即,其元素按升序排列)。是指其整数的下一个字典序更大的排列。更正式地,如果数组的所有排列根据其字典顺序从小到大排列在一个容器中,那么数组的。就是将其所有成员以序列或线性顺序排列。修改,只允许使用额外常数空间。原创 2024-02-26 15:11:46 · 450 阅读 · 0 评论 -
LeetCode 39 组合总和
如果至少一个数字的被选数量不同,则两种组合是不同的。,并以列表形式返回。中可以使数字和为目标数。对于给定的输入,保证和为。原创 2024-03-02 14:28:15 · 531 阅读 · 0 评论 -
LeetCode 128 最长连续序列
给定一个未排序的整数数组nums,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为O(n)的算法解决此问题。原创 2024-03-08 13:28:10 · 533 阅读 · 1 评论 -
LeetCode 72 编辑距离
给你两个单词word1和word2, 请返回将word1转换成word2所使用的最少操作数*。word2。原创 2024-03-07 13:13:00 · 561 阅读 · 0 评论 -
LeetCode 121 买卖股票的最佳时机
给定一个数组prices,它的第i个元素prices[i]表示一支给定股票第i天的价格。你只能选择买入这只股票,并选择在卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回0。原创 2024-03-08 10:41:05 · 452 阅读 · 0 评论 -
【国科大卜算】Truck History 最小生成树Prim
国科大卜算练习原创 2023-09-23 22:25:25 · 256 阅读 · 0 评论 -
LeetCode-10 正则表达式匹配
给你一个字符串s和一个字符规律p,请你来实现一个支持'.'和'*'的正则表达式匹配。'.''*'所谓匹配,是要涵盖字符串s的,而不是部分字符串。a-zpa-z。原创 2023-12-25 15:56:52 · 538 阅读 · 0 评论 -
LeetCode-23 合并 K 个升序链表
给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。10^4。原创 2023-12-23 14:13:59 · 464 阅读 · 0 评论 -
LeetCode-22. 括号生成
数字n代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且括号组合。原创 2023-12-23 11:32:23 · 401 阅读 · 0 评论 -
LeetCode-15 三数之和
给你一个整数数组nums,判断是否存在三元组满足i!= ji!= k且j!= k,同时还满足。请你返回所有和为0且不重复的三元组。**注意:**答案中不可以包含重复的三元组。原创 2023-12-21 15:49:51 · 436 阅读 · 0 评论 -
LeetCode-5 最长回文子串
给你一个字符串 s,找到 s 中最长的回文子串。如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。首先单个字母一定是回文串,其次判断长度为2的回文串,然后判断长度大于等于3的回文串。解释:“aba” 同样是符合题意的答案。时若存在s[i-1]=s[j+1]则。输入:s = “babad”输入:s = “cbbd”s 仅由数字和英文字母组成。所以存在状态转移方程。为一个回文串,易知当。原创 2023-12-11 10:51:03 · 583 阅读 · 0 评论 -
Joey Takes Money
Joey 很穷,因此他的朋友 Chandler 想要借给他一些钱。但是 Joey 的自尊心很强,为了不让他的自尊心受挫又能给他钱,Chandler 打算和他玩一个游戏。采用贪心的思想,计算每一个数字的连乘,并放到第一个位置,其他位置为1,此时可以达到最大。共一行,一个整数,表示 Joey 最多可以得到的钱乘以 2022 后的值。综上所述, Joey 可以得到的最多的钱即为。即 Joey 所得的钱。,即 Joey 最多可以得到的钱,并输出。因为我们再也见不到它了!最后, Joey 将得到的钱就是。原创 2023-12-02 20:23:55 · 1173 阅读 · 0 评论 -
CF1714C Minimum Varied Number
找出数码和为s的最小数字,使得其中的所有数字都是不同的(即所有数字都是唯一的)。例如,如果s20,那么答案是389。这是最小的数字,其中所有数字都不同,数字的总和为2038920对于给定的s,输出这个最小数字。原创 2023-12-02 19:43:30 · 1067 阅读 · 0 评论 -
CF688A Opponents
小白有 n 个对手,他每天都要和这些对手PK。对于每一天,如果 n 个对手全部到齐,那么小白就输了一场,否则小白就赢了一场。特别的,如果某天一个对手都没有到,也算小白赢。现在已知对手 d 天的出场情况,请计算小白最多能连胜多少场。原创 2023-12-02 16:56:26 · 922 阅读 · 0 评论 -
UVA1368 DNA Consensus String
为第i个字符串的第j个元素,因为字符串序列是等长的首先比较相同位置的字符,并记录其A、G、C、T的个数,当所有m个字符串的第i个位置遍历完毕,计算A、G、C、T个数最大,当数目相同时使用字典序最小的的并作为。原创 2023-12-02 15:58:17 · 1214 阅读 · 0 评论 -
UVA 108 Maximum Sum
给定一个含有正负数的二维数组,找出有最大和的子矩阵。矩阵的和指矩阵中所有元素的和。一个子矩阵是任意在总矩阵中大小为1x1或更大的邻近子数组,例如在下面的矩阵中: 0 −2 −7 09 2 −6 2−4 1 −4 1−1 8 0 −2(最大子矩阵)在左下方:9 2−4 1−1 8并且和为15.输入:包括一个N和NxN的矩阵 N<=100 矩阵中的数字在区间[-127,127]内输出:最大子矩阵的和。原创 2023-11-29 20:43:07 · 571 阅读 · 0 评论 -
leetcode目标和
例如,nums = [2, 1] ,可以在 2 之前添加 ‘+’ ,在 1 之前添加 ‘-’ ,然后串联起来得到表达式 “+2-1”。为前i个数字组合为j的个数,则易知前i个字母组合的结果只是在前i-1个字母的组合结果上加减nums[i],所以存在。返回可以通过上述方法构造的、运算结果等于 target 的不同 表达式 的数目。输入:nums = [1,1,1,1,1], target = 3。注意:因为j不能为负数,所以需要通过加上nums的累加值。输入:nums = [1], target = 1。原创 2023-11-26 19:54:53 · 582 阅读 · 0 评论 -
leetcode 最大整除子集
answer[i] % answer[j] = 0 ,或 answer[j] % answer[i] = 0,如果存在多个有效解子集,返回其中任何一个均可。解释:[1,3] 也会被视为正确答案。输入:nums = [1,2,4,8]为最大整数的最大整除集合,则可以知道若。输入:nums = [1,2,3]nums 中的所有整数 互不相同。将输入序列按照从小到大排列。输出:[1,2,4,8]原创 2023-11-26 19:53:49 · 1135 阅读 · 0 评论 -
leetcode 不同的二叉搜索树
采用dp[i] 表示含有i个节点的二叉搜索树,其中二叉搜索树由左子树和右子树以及根结点组成。其中dp[i]由含有i-j节点的左子树和j-1节点的右子树和一个根结点组成。所以dp[i]的构造形式由左右子树决定。给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。原创 2023-11-26 19:52:25 · 793 阅读 · 0 评论 -
leetcode 丑数
解释:[1, 2, 3, 4, 5, 6, 8, 9, 10, 12] 是由前 10 个丑数组成的序列。为第i个最大的丑数,易知第一个丑数为1,其余的丑数则是较小的丑数的2倍3倍或者5倍,设a=b=c=1,,即dp[i]为前向序列中某些数的2倍3倍或者5倍中的最小值,且。给你一个整数 n ,请你找出并返回第 n 个 丑数。,代表由前序列中某些数的2倍3倍或者5倍中的最小值,丑数 就是质因子只包含 2、3 和 5 的正整数。解释:1 通常被视为丑数。原创 2023-11-26 19:51:15 · 715 阅读 · 0 评论 -
leetcode 打家劫舍
已知当房子数目为0时,获得的收益为0,房子数目为1时获得的收益为从第1间房子获得,房子数目为2时获得的收益从一二两间房子中的最大值者获得。,其中dp[i]表示从前i间房子获得的最大收益,其中前i个房子的收益为前i-1件房子的最大收益或者前i-2间房子的最大收益与第i间房子的最大收益中的最大值。已知当房子数目为0时,获得的收益为0,房子数目为1时获得的收益为从第1间房子获得,房子数目为2时获得的收益从一二两间房子中的最大值者获得。表示选取第一个,而不选取最后一个的情况下,选取前i个房子可以获得的最大收益,原创 2023-11-26 19:49:58 · 1094 阅读 · 0 评论 -
UVA437 巴比伦塔 The Tower of Babylon
你可能已经听说过巴比伦塔的传说。现在这个传说的许多细节已经被遗忘。所以本着本场比赛的教育性质,我们现在会告诉你整个传说:巴比伦人有n种长方形方块,每种有无限个,第i种方块的三边边长是xiyizi。对于每一个方块,你可以任意选择一面作为底,这样高就随着确定了。举个例子,同一种方块,可能其中一个是竖着放的,一个是侧着放的,一个是横着放的。他们想要用堆方块的方式建尽可能高的塔。问题是,只有一个方块的底的两条边严格小于另一个方块的底的两条边,这个方块才能堆在另一个上面。原创 2023-11-25 01:32:53 · 949 阅读 · 0 评论 -
UVA1025 城市里的间谍 A Spy in the Metro
某城市地铁是一条直线,有n2≤n≤50)个车站,从左到右编号1n。有M1辆列车从第1站开始往右开,还有M2辆列车从第n站开始往左开。列车在相邻站台间所需的运行时间是固定的,因为所有列车的运行速度是相同的。在时刻0,Mario 从第1站出发,目的在时刻T0≤T≤200)会见车站n的一个间谍。在车站等车时容易被抓,所以她决定尽量躲在开动的火车上,让在车站等待的时间尽量短。原创 2023-11-24 22:04:43 · 1309 阅读 · 0 评论 -
UVA11584划分成回文串 Partitioning by Palindromes
回文子串(palind)当一个字符串正序和反序是完全相同时,我们称之为“回文串”。例如“racecar”就是一个回文串,而“fastcar”就不是。现在给一个字符串s,把它分割成若干个互不相交的回文子串,求分割的回文子串的最少个数。第一行为正整数t(≤10),表示数据组数;接下来t行,每行一个完全由小写字母组成的字符串,长度不超过1000。对于每组数据,输出最少回文子串数。由 @C919 提供翻译。原创 2023-11-22 18:10:07 · 258 阅读 · 0 评论 -
【国科大卜算】Radar Installation
【代码】【国科大卜算】Radar Installation。原创 2023-09-24 10:17:20 · 209 阅读 · 0 评论 -
【国科大卜算】Counterfeit Dollar
【代码】【国科大卜算】Counterfeit Dollar。原创 2023-09-24 10:05:06 · 210 阅读 · 0 评论 -
【国科大卜算】Moving Tables
计算最大的重合段数,桌子移动的耗时,取决于移动路径上最大的重合次数。因为在移动这个路径上的桌子时,其他路径上的桌子可以进行移动。原创 2023-09-23 23:24:23 · 206 阅读 · 0 评论 -
剑指 Offer 30. 包含min函数的栈【辅助栈】
【代码】剑指 Offer 30. 包含min函数的栈【辅助栈】原创 2023-05-21 11:52:53 · 146 阅读 · 0 评论 -
【暴力解法,究极绕逻辑版】剑指 Offer 20. 表示数值的字符串
请实现一个函数用来判断字符串是否表示数值(包括整数和小数)原创 2023-05-01 11:07:42 · 155 阅读 · 0 评论 -
【快速幂】剑指 Offer 16. 数值的整数次方
实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,不得使用库函数,同时不需要考虑大数问题。所以,我们可以设置一个变量。原创 2023-04-30 12:11:46 · 686 阅读 · 0 评论 -
分枝限界法求0-1背包问题
实例:假设有4个物品,其重量分别为(4, 7, 5, 3),价值分别为(40, 42, 25, 12),背包容量W=10。将给定物品按单位重量价值从大到小排序,结果如下:物品重量 www价值vvv单位重量的价值wv\frac{w}{v}vw144010274263525543124思路:代码实现:#include...原创 2020-05-07 23:12:29 · 1728 阅读 · 1 评论 -
分枝限界课后作业作求解分配问题
有n个操作员,n项作业,已知第i项作业分配给第j个操作员的加工时间为tj,i,i,j=1,2,…,n。如果所有操作员都从时刻0开始工作,最后一项作业完成的时刻记作全部作业的完成时间。问如何分配作业使得全部作业的完成时间最短?下表是一个n=4的实例,其中第j行的4个数据分别表示第j位操作员完成4项作业所需时间,j=1, 2, 3, 4。作业1作业2作业3作业4操作员13...原创 2020-05-06 22:45:17 · 1617 阅读 · 0 评论 -
动态规划与回溯法的练习小记
动态规划与回溯法的练习小记文章目录动态规划与回溯法的练习小记动态规划-一星:互不攻击的士兵动态规划-二星:老千层饼回溯法-一星:恶心塔子哥回溯法-二星:分糖果咯回溯法-三星:完美数动态规划-一星:互不攻击的士兵Description你有一个含n个格子的一维棋盘。你可以往棋盘上放任意多个士兵。(每个格子只能放置一个士兵)一个士兵会攻击与他相邻的左右两个格子中的士兵。现在问你,有多少种放置...原创 2020-04-22 14:04:56 · 1188 阅读 · 0 评论 -
淘宝校园笔试题鸡蛋与篮子
淘宝校园笔试题goengineN 个鸡蛋放到 M 个篮子中,篮子不能为空,要满足:对任意不大于 N 的数量,能用若干个篮子中鸡蛋的和表示。写出函数,对输入整数 N 和 M,输出所有可能的鸡蛋的放法。比如对于 9 个鸡蛋 5 个篮子解至少有三组:1 2 4 1 11 2 2 2 21 2 3 2 1/*64、淘宝校园笔试题goengineN 个鸡蛋放到 M 个篮子中,篮子不...转载 2020-02-10 11:36:53 · 354 阅读 · 0 评论