算法
文章平均质量分 64
AlbertOS
争取0 error,0 warning
展开
-
081. 允许重复选择元素的组合
给定一个无重复元素的正整数数组 candidates 和一个正整数 target ,找出 candidates 中所有可以使数字和为目标数 target 的唯一组合。candidates 中的数字可以无限制重复被选取。如果至少一个所选数字数量不同,则两种组合是不同的。 对于给定的输入,保证和为 target 的唯一组合数少于 150 个。原创 2022-08-22 15:06:19 · 249 阅读 · 0 评论 -
1404. 将二进制表示减到1的步骤数
给你一个以二进制形式表示的数字 s 。请你返回按下述规则将其减少到 1 所需要的步骤数:如果当前数字为偶数,则将其除以 2 。如果当前数字为奇数,则将其加上 1 。题目保证你总是可以按上述规则将测试用例变为 1...原创 2022-06-27 17:30:56 · 306 阅读 · 0 评论 -
27. 移除元素
给你一个数组 $nums$ 和一个值 $val$,你需要 原地 移除所有数值等于 $val$ 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 $O(1)$ 额外空间并 **原地 修改输入数组**。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。...原创 2022-06-21 22:21:02 · 152 阅读 · 0 评论 -
1742. 盒子中小球的最大数量
你在一家生产小球的玩具厂工作,有 nn 个小球,编号从 lowLimitlowLimit 开始,到 highLimithighLimit 结束(包括 lowLimitlowLimit 和 highLimithighLimit ,即 n == highLimit - lowLimit + 1)n==highLimit−lowLimit+1)。另有无限数量的盒子,编号从 11 到 infinityinfinity 你的工作是将每个小球放入盒子中,其中盒子的编号应当等于小球编号上每位数字的和。...原创 2022-06-20 19:55:23 · 167 阅读 · 0 评论 -
1464. 数组中两元素的最大乘积
给你一个整数数组 nums,请你选择数组的两个不同下标 i 和 j,使 (nums[i]-1)*(nums[j]-1) 取得最大值。请你计算并返回该式的最大值。原创 2022-06-19 21:03:04 · 369 阅读 · 0 评论 -
2160. 拆分数位后四位数字的最小和
给你一个四位 正 整数 numnum 。请你使用 numnum 中的 数位 ,将 numnum 拆成两个新的整数 new1new1 和 new2new2 。new1new1 和 new2new2 中可以有 前导 0 ,且 num 中 所有 数位都必须使用。比方说,给你 num = 2932 ,你拥有的数位包括:两个 2 ,一个 9 和一个 3 。一些可能的 [new1, new2] 数对为 [22, 93],[23, 92],[223, 9] 和 [2, 329] 。请你返回可以得到的 new1 和原创 2022-06-18 19:44:40 · 203 阅读 · 0 评论 -
906. 超级回文数
如果一个正整数自身是回文数,而且它也是一个回文数的平方,那么我们称这个数为超级回文数。现在,给定两个正整数 $L$ 和 $R$ (以字符串形式表示),返回包含在范围 [L, R] 中的超级回文数的数目。...原创 2022-06-17 18:09:37 · 247 阅读 · 0 评论 -
725. 分隔链表
给你一个头结点为 headhead 的单链表和一个整数 kk ,请你设计一个算法将链表分隔为 kk 个连续的部分。每部分的长度应该尽可能的相等:任意两部分的长度差距不能超过 11 。这可能会导致有些部分为 nullnull 。这 kk 个部分应该按照在链表中出现的顺序排列,并且排在前面的部分的长度应该大于或等于排在后面的长度。返回一个由上述 kk 部分组成的数组。...原创 2022-06-16 21:29:09 · 175 阅读 · 1 评论 -
392. 判断子序列
给定字符串 s 和 t ,判断 s 是否为 t 的子序列。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)...原创 2022-06-15 22:28:04 · 186 阅读 · 0 评论 -
SQL题- 超过经理收入的员工
编写一个SQL查询来查找收入比经理高的员工。以 任意顺序 返回结果表。查询结果格式如下所示。原创 2022-06-14 20:34:52 · 1254 阅读 · 0 评论 -
转变日期格式
给你一个字符串 date ,它的格式为 Day Month Year ,其中:- Day 是集合 {"1st", "2nd", "3rd", "4th", ..., "30th", "31st"} 中的一个元素。- Month 是集合 {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"} 中的一个元素。- Year 的范围在 [1900, 2100] 之间。请你将字符串转变为 YYY原创 2022-06-13 23:22:24 · 245 阅读 · 0 评论 -
求字符串中最大的 3 位相同数字
以字符串形式返回 **最大的优质整数** 。如果不存在满足要求的整数,则返回一个空字符串 "" 。原创 2022-06-11 16:28:39 · 233 阅读 · 0 评论 -
合并多棵二叉搜索树
给你 n 个 二叉搜索树的根节点 ,存储在数组 trees 中(下标从 0 开始),对应 n 棵不同的二叉搜索树。trees 中的每棵二叉搜索树 最多有 3 个节点 ,且不存在值相同的两个根节点。原创 2022-06-10 20:53:19 · 543 阅读 · 0 评论 -
排序的循环链表
给定**循环单调非递减列表**中的一个点,写一个函数向这个列表中插入一个新元素 `insertVal` ,使这个列表仍然是循环升序的。给定的可以是这个列表中任意一个顶点的指针,并不一定是这个列表中最小元素的指针。如果有多个满足条件的插入位置,可以选择任意一个位置插入新的值,插入后整个列表仍然保持有序。如果列表为空(给定的节点是 null),需要创建一个循环有序列表并返回这个节点。否则。请返回原先给定的节点。...原创 2022-06-09 21:52:02 · 309 阅读 · 0 评论 -
判断是否为平衡二叉树
自底向上递归是对于当前遍历到的节点,先递归地判断其左右子树是否平衡,再判断以当前节点为根的子树是否平衡。原创 2022-05-30 22:44:58 · 584 阅读 · 0 评论 -
最长严格递增子序列
给定一个数组arr,返回arr的最长严格递增子序列的长度原创 2022-05-30 22:27:15 · 1045 阅读 · 0 评论 -
将一个字符串中的空格替换成20%
一道面试题:将一个字符串中的空格替换为 "%20原创 2022-04-05 00:02:23 · 1564 阅读 · 0 评论 -
算法设计与分析复习
考试题型算法应用:共40分,2个小题,每小题20分分析题:共20分,2个小题,每小题10分算法设计:共20分,1个小题,每小题20分综合题:共20分,1个小题,每小题20分先看看作业作业1(蛮力法解题)(1)掌握蛮力法算法思想和实现思路。蛮力法算法思想又称为枚举法、穷举法、暴力法,是指采用遍历技术整个解空间,即采用一定的策略将待求解问题的所有元素依次处理一次,从而找出问题的解。实现思路:根据问题中的条件将可能的情况列举出来,逐一尝试从中找出满足问题条件的解。设计思路:1、找出枚举范围原创 2021-12-14 20:11:40 · 2237 阅读 · 3 评论 -
人工智能复习
大纲(5个大题)知识表示一阶谓词逻辑产生式框架表示法知识推理(归结原理)搜索算法(第三、四题)宽度优先算法深度优先算法开放题(论述题)原创 2021-11-28 17:53:13 · 11563 阅读 · 3 评论 -
用分支与限界策略求解货物调运问题
引入3、用分支与限界策略求解货物调运问题某大型集团公司在全国有m (1 < m 20) 个产品生产基地(通称产地),用Ai 表示(i = 1, 2, …, m),需要分别将这些物质调运到n (1 < n 20) 个集中消费的地区(通称销地),用Bj 表示(j = 1, 2, …, n)。已知这m 个产地的产量分别为a1, a2, …, am(简写为ai),n 个销地的销量分别为b1, b2, …, bn(简写为bj),从第i 个产地到第j 个销地的单位货运价格为cij,并且总产量和总销原创 2021-11-20 21:38:32 · 3210 阅读 · 5 评论 -
LaTeX 数学公式(简述)
引入今天写博客的时候遇到要写公式的时候,看CSDN的帮助文档推荐使用LATeX编写数学公式,深入了解之后不由感叹,这个语法真TM牛掰!!LaTeX,始于公式,忠于优雅…当我还在用word编写公式生成图片的年代,一看到LaTeX排版的Paper就彻底征服了我。LaTeX,作为广义上的计算机标记语言(比如HTML),它继承了计算机语言的光荣传统,通过一些简单的代码表达出精确的含义,具有不二义性。其文章排版的结果可以完全按照你的想法来,渲染出来的文章优美;同时,其还可以通过简单的语法写出优雅高贵的数学公式原创 2021-11-19 17:29:05 · 6868 阅读 · 0 评论 -
容器里有10升油,现在只有两个分别能装3升和7升油的瓶子,需要将10 升油等分成2 个5 升油。程序输出分油次数最少的详细操作过程
引入1、容器里有10升油,现在只有两个分别能装3升和7升油的瓶子,需要将10 升油等分成2 个5 升油。程序输出分油次数最少的详细操作过程。思考这题主要是要求了输出分油次数最少的操作,网上很多算法都是寻找可行解,没有找出最优解。仔细分析这题发现思路很简单:开始总共只有两种倒法,十升向7升的到,十升向3升的到,然后不回倒,下一步倒向另一个,当7升的倒满了之后,再回倒入10升的杯子中,进入循环,直到有解为止。最终状态一定是10升的杯子有5升,7升的杯子有5升。状态10升7升3升原创 2021-11-09 10:36:08 · 4538 阅读 · 0 评论 -
动态规划求解设备更新问题
问题引入**用动态规划求解设备更新问题 **某人打算购买一辆新的小货车用于运货,货车的售价是22 万元人民币。货车购买后,每年的各种保险费、养护费等费用如下表:设计一种购买货车的方案,使5 年内用车的总费用最少。选作:将其中所有的数据,包括售价、年份、各年份的费用和各年份二手车销售价等的数据改为任意值。设计思路利用动态规划的思想,将每年用车的费用记录下来,然后利用递归在权重数组中找最优的。细节直接见代码,我都写上了注释代码#include<iostream>#includ原创 2021-11-08 19:35:27 · 4081 阅读 · 8 评论 -
将一张100 元的钞票换成1 元、2元、5 元和10 元的零钱,每种零钞至少一张,编写程序输出所有的换法,尽可能地提高算法效率。
算法引入将一张100 元的钞票换成1 元、2元、5 元和10 元的零钱,每种零钞至少一张,编写程序输出所有的换法,尽可能地提高算法效率。这道题解起来很简单,有意思的主要是这道题的最后一句话:“尽可能地提高算法效率”。思路这道题不是要求最优解,而是要求可行解,所以有很多求最优解的快捷算法不能使用。基本算法可以用 快乐蛮力法 直接遍历整个幂集,要求尽可能地提高算法效率,就不能遍历完整个解空间,因此利用的 回溯法 来减去不要的分支提高方法1 利用题目要求_每种零钞至少一张_ ,通过一定的预先计算减少原创 2021-10-29 12:11:04 · 7282 阅读 · 2 评论 -
分别用二分法和牛顿迭代法求解方程x3 – 3x – 1 = 0在x = 2附近的实根(c++实现)
问题引入编写程序,分别用二分法和牛顿迭代法求解方程x3 – 3x – 1 = 0在x = 2附近的实根,要求计算精确到小数点后7 位数字为止,并将求出的近似结果与理论值2cos20 比较误差大小。设二分法的初始迭代区间为 [1, 3],牛顿迭代法的起点为4。二分法任取两点x1和x2,判断(x1,x2)区间内有无一个实根。如果f(x1)和f(x2)符号相反,说明(x1,x2)之间有一个实根。取(x1,x2)的中点x,检查f(x)与f(x1)是否同符号,如果不同号,说明实根在(x,x1)区间,这样就已原创 2021-10-26 12:15:33 · 5022 阅读 · 0 评论 -
用1、2、3、4、5、6、7、8、9这9 个数字,填入 匚中使等式匚匚*匚匚匚 = 匚匚匚匚 成立,每个数字恰好只用一次。
一道算法设计题,我想了半天,只会用快乐蛮力法求解,不知道发发博客会不会有大神说一说更加好的算法~#include<iostream>using namespace std;//蛮力法bool check(int numberLeft, int numberRight, int result){ int a[10] = { 0 }; int tmf = 0; a[numberLeft / 10] ++; a[numberLeft % 10] ++; a[numberRight原创 2021-10-20 20:07:58 · 1669 阅读 · 0 评论