牛客319051600号
牛客319051600号
全部文章
分类
归档
标签
去牛客网
登录
/
注册
牛客319051600号的博客
TA的专栏
0篇文章
0人订阅
动态规划算法
0篇文章
0人学习
全部文章
(共37篇)
题解 | #质数因子#
首先,只需遍历到,但遍历完后还没完,比如10这个数字,10的平方根是3.几,但它的质数因子是2、5,所以遍历到根号10后,还剩下10/2=5,则剩下的这个,如果不是1,则必定也是质数,再把它放进去即可。 const rl = require("readline").createI...
2024-07-18
0
173
题解 | #24点游戏算法#
1. 先两两组合,一共四个数,分成互不相同的两个一组(顺序无所谓),共有6种分法。比如数组 [4, 1, 3, 7] 可以分成[4,1]、[4,3]、[4,7]、[1,3]、[1,7]、[3,7] 2. 将以上6种分法进行遍历,传入计算函数calc24, 一共传入两个参数:selected 被选中的...
2024-07-12
0
214
题解 | #素数伴侣#
通过率 83.33%,最终结果打印出来,素数伴侣是成立的,但不是最大匹配,我的天呢。。。我用匈牙利算法算出来的为什么不是“最大”匹配?而且大家为什么用递归呢?我没有用递归额。。。--------我仔细想了下,大概猜到哪儿出问题了。 const rl = require("readline&...
2024-07-09
0
154
题解 | #密码截取#
一共有两种解法,第一种 动态规划,会超内存,因为当字符串长度很大时,会开辟一个巨大的二维数组,第二种 双指针,不会超内存,推荐第二种。两种解法我都写在下面了 const rl = require("readline").createInterface({ input: proce...
2024-07-08
0
174
题解 | #高精度整数加法#
把字符串split成数组。reverse翻转数组,让最小位在前,便于计算。初始化一个空数组r,每个元素都是0,同时数组长度要比 两个字符串数组中最长的还要加1,即Math.max(length1,length2)+1,加1是为了进位,比如999 + 99 ,最长999 为3 位,但最终结果是 109...
2024-07-08
0
153
题解 | #求解立方根#
二分法: const rl = require("readline").createInterface({ input: process.stdin }); var iter = rl[Symbol.asyncIterator](); const readline = async...
2024-07-08
0
148
题解 | #字符串通配符#
正则表达式,注意 * 代表0个或多个,所以1个* 和 多个 *连在一起的效果是相同的,即 *==***,所以正则替换的时候,所以正则替换时应该:replace(/\*+/g,'[0-9a-z]{0,}'); // 多个星号连写等价于一个星号如果不这么处理,那么当遇到特殊字符串时会超时,比如下面这个h...
2024-07-08
0
135
题解 | #购物单#
01背包变形,想明白逻辑就很简单一共有 2大类放不进去 dp[i][j] = dp[i-1][j]能放进去,最多有以下情况 ① 只放主件,0个附件 ② 若只有一个附件,判断附件1能不能放进去,如果能,得出结果 ③ 判断有没有2个附件,若有2个,则: ...
2024-07-07
0
172
题解 | #成绩排序#
这个题的难点是不是在排序上啊,否则我想不出来这个题难在哪儿。排序的话可以用插入排序、快速排序等。不过JavaScript有Math.sort方法。 const rl = require("readline").createInterface({ input: process.st...
2024-07-06
0
170
题解 | #从单向链表中删除指定值的节点#
const rl = require("readline").createInterface({ input: process.stdin }); var iter = rl[Symbol.asyncIterator](); const readline = async () =...
2024-07-06
0
160
首页
上一页
1
2
3
4
下一页
末页