- 博客(151)
- 资源 (3)
- 收藏
- 关注
原创 npm获取函数名称和测试js脚本
这边遇到一个类似于测试的需求,需要从一个js文件里获取函数名,然后尝试执行这些函数和创建实例。这边首先遇到了一个问题是如何动态获取js里的函数名和类名,我这边暂时没找到特别好的方法,已有的方法都是类似于提取语法树那种提取函数名。最后想的还是通过正则匹配函数名来尝试执行,有参数需求的函数尝试用数字代替作为参数尽量执行,加了个5秒超时。安装minimist(用于调用参数)
2023-08-29 11:16:18 824
原创 python防止程序超时研究
3.使用eventlet.Timeout来实现,实测下来这个是最符合我需求的,时间到了直接跳出,加一个timeout的变量就能知道是否超时了。实测发现运行结果是这样,到了5秒提示overtime但是程序继续运行,然后到了10秒程序运行结束,虽然有超时的效果但是和我设想的还是有区别,我想的是时间到了你就别继续运行了。实测可以用,但是用起来比较麻烦,因为这个超时后会跑出异常,可以直接注解在函数上但不能注解在单条语句上,我设想的是把超时和异常同时处理,这个会抛出新的异常不太符合我的需求。
2023-08-24 11:02:48 206 1
原创 python 使用argparse为程序添加参数
注意小数,布尔,整数类型的要加上type来限制类型,不然会被识别为字符串。使用的时候也很方便,直接使用对应的变量名即可调用。
2023-05-23 09:58:10 238
原创 pytorch移植华为mindspore记录
这里需要提一点,mindspore介绍里说的是图构建的时候会自动构建图,说是自动计算梯度啥的,不需要backward和优化器的step方法这样,我个人感觉是直接把forward换成construct了,但是这部分我没完全理解透,如果后面有变更我会再修改。我先安装的是cpu版本的,顺便一提看着有三个版本,实际你能用的只有2.0.0版本,1.10.1里连pytorch的卷积nn.Conv1d都没有,Nightly更是连介绍这东西是啥的文档都没有。反正跑是能跑,要是有新发现或者发现错误我会回来更新。
2023-05-12 17:26:10 1058
原创 Python 使用chatGPT帮忙写一个有序集类 OrderedSet
Python 使用chatGPT帮忙写一个有序集类 OrderedSet
2023-04-25 15:07:39 646
原创 Leetcode构成交替字符串需要的最小交换次数
然后看0和1那个多,1多的话必定是要成为101010101…这种形式,然后看和结果不同的位数有多少,不同位数/2即为结果。实际结果只有101010…判断0和1数量差是否能有交换结果。
2023-04-12 16:54:46 85
原创 Leetcode 把数组排成最小的数
能想到是要根据特殊规则重新排列,python里是使用sorted(key=functools.cmp_to_key)或者用字符串比较也可以,如。
2023-04-12 15:58:14 88
原创 Leetcode分割字符串的方案数
比如一共有3个1,那么方案数=(第一个1到第二个1之间0个数+1)*(第二个1到第三个1之间0个数+1)1.考虑特殊情况,没有3的倍数的1可以直接返回,只有0的情况直接返回c(n-1),2。2.如果可以分割,那么分割的方案数取决于1之间0的个数。用split和len来代替查找0个数的操作。
2023-04-12 09:50:29 70
原创 Leetcode最长斐波那契数列
先找出长度为3的数列,然后依次寻找长度为4,为5,为6的数列。用set来加快查找速度,不然会超时。也是使用了set来加快查找速度。
2023-04-11 17:10:50 36
原创 Leetcode相等行列队
Counter是collections里的统计函数,可以直接统计列表元素外出现的次数。zip(*grid)生成了一个迭代器,其中元素是转置后的矩阵,也就是原来的列。首先生成矩阵的转置,然后首先遍历元矩阵,统计每行出现的次数,用字典保存,之后再遍历转置,如果发现转置重复出现,那么就加上字典里保存的次数。
2023-04-11 16:51:28 54
原创 Leetcode出界的路径数
Python 内置模块 functools 提供的高阶函数 @functools.cache 是简单轻量级无长度限制的函数缓存,这种缓存有时称为 “memoize”(记忆化)。它是 3.9 新版功能,是在 lru_cache 缓存基础上简化了的对无限长度缓存。@cache是3.9新增的无限长度缓存注解。
2023-04-11 16:26:56 35
原创 Leetcode最优除法
当时感觉可能需要用动态规划做,后来看了题解发现自己想复杂了,直接把后面全框起来就行。因为题目规定了全是正整数,即>=1,所以不会出现[100,0.5,0.5]这样的情况。
2023-04-11 15:48:32 51
原创 Leetcode替换单词
遍历字典里的词和句子里的词,用startswith进行判断,如果有更短的词根在遍历后也会被替换,因为aaa也符合以a开头。
2023-04-11 10:50:47 26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人