- 博客(47)
- 收藏
- 关注
原创 JS 异步回调地狱解决方案小结
异步回调地狱指在使用回调函数处理一系列异步操作时,代码因回调函数嵌套,代码的缩进会越来越深,犹如陷入地狱,所以这种情况称为异步回调地狱(Callback Hell)。以依次读取文件file1.txt,file2.txt,file3.txt,file4.txt,file5.txt为例const fs = require('fs');const file1 = './file1.txt'const file2 = './file2.txt'const file3 = './file3.txt'c
2020-08-08 01:21:50
540
原创 JS ES5和ES6中类的相关定义方式对比
前言(在定义类以及生成新对象上,JavaScript)跟传统的面向对象语言(比如C++和Java)差异很大,很容易让新学习这门语言的程序员感到困惑。ES6提供了更接近传统语言的写法,引入了Class(类)这个概念,作为对象的模板。通过class关键字,可以定义类。基本上,ES6的class可以看作只是一个语法糖,它的绝大部分功能,ES5都可以做到,新的class写法只是让对象原型的写法更加清晰、更像面向对象编程的语法而已。
2020-07-13 21:19:23
290
原创 Nodemon 修改文件后只显示“restarting due to changes…“,而并没有重启服务器.
问题详情使用nodemon index.js启动nodemon.当修改文件后,nodemon只显示[nodemon] restarting due to changes....并没有重新启动服务器,此时访问网络访问index.js仍然是旧版本.类似下图情况解决方案Windows10系统下在path中添加以下环境变量(windows其他版本不确定可行性)C:\Windows; C:\Windows\System32; C:\Windows\System32\wbem;[1]引用目录[1]
2020-07-10 21:28:02
3880
8
原创 CSS 正向过渡与反向过渡
前言在CSS中,可以使用transition来实现过渡效果。可以看到,这里实现的过渡效果,在变换和复原的过程中,过渡效果是相同的。但如果需要这两个过程的过渡效果不同时该怎么办。本文简单讨论一下正向过渡和反向过渡的设置。(变换时的过渡效果称为正向过渡,复原时的过渡效果称为反向过渡)正向过渡将transition属性设置在触发事件对应的伪类中,可只设置正向过渡。如下图所示,hover事件触发时,是有过渡效果的;而当复原时,没有过渡效果,是直接复原的。 正向过渡 **CSS代码**.
2020-06-06 12:41:06
1930
1
原创 JS 对连等赋值的一些探索
前言在之前做练习时遇到了类似下面这道题的场景,发现输出结果和预期结果略有出入。本文对JS中的连等赋值做个简单讨论。var a = b = c = 1;function test(){ var a = b = c = 2; console.log(a, b, c); // 2, 2, 2;}test();console.log(a, b, c); // 1, 2, 2;两个问题变量声明命令var是否对连等赋值中的所有变量都有用?做个实验function test(){
2020-06-05 16:27:25
132
原创 JS 数据类型进行运算时的隐式转换
前言在js中,不同的类型的数据在做运算时,会自动地对数据类型进行转换,之后再进行计算,这种类型转换称之为隐式转换。隐式转换的规则略有繁杂,这里简单做一下归纳总结。一元运算符非Number类型的值会被转换成Number类型,再进行运算。正号 +console.log(+undefined); // Undefined类型 输出 NaN console.log(+null); // Null类型 输出 0console.log(+true);
2020-06-01 17:33:24
209
原创 CSS 精灵图的使用
前言在浏览网页时,我们可能会发现,大多数的带图标的超链接,并非是如我们所想——用<a>包裹<img>来实现的,而是给<a>设置背景图。在这张背景图中,不光有当前超链接对应的图片,还有其他超链接的图片,它们共同组成了这张大的的背景图。这样的背景图我们称之为精灵图。淘宝中带图标的超链接图标超链接对应的精灵图精灵图的使用使用精灵图的原因使用精灵图可以减少向服务器请求图片的次数以及相应产生的资源。每次请求图片资源,都会花费一定的请求时间,这和图片大小无关,减少
2020-05-24 22:44:19
399
原创 numpy读取.npy文件 ValueError: Object arrays cannot be loaded when allow_pickle=False
错误原因当前文件在allow_pickle=False的情况下无法读取。allow_pickle: 可选,布尔值,允许使用 Python pickles 保存对象数组,Python 中的 pickle 用于在保存到磁盘文件或从磁盘文件读取之前,对对象进行序列化和反序列化。解决办法把参数allow_pickle设置为true。data=np.load(File_path, allow_...
2020-05-08 12:16:36
2245
原创 HTML 锚点链接处理流程
此前对锚点链接只知道一些简单的使用,但对更多的用法和其处理流程不太了解。为此阅读了一下HTML标准文档,找到了一些答案并记录在下方。(本人英语水平有限,内容仅供参考,详情可阅读原文)。流程描述截取href属性值中,#后面的字符子串赋值给fragment。例如,对于href="#string"而言,fragment="string"。如果fragment为空字符串,则定位到页面顶部,返...
2020-04-27 01:30:57
464
原创 CSS 浮动元素对块级元素和行内元素的影响
我们可能听说过,float元素是脱离了文档流的元素,其他元素将无视它的存在。但当我们实际应用中,实际效果并不完全是这样的。
2020-04-23 22:03:10
4143
4
原创 P1040 加分二叉树
题目链接P1040 加分二叉树题目梗概我们知道中序遍历相同的二叉树可能有很多种,请在满足给定的中序遍历的二叉树中,找出得分最小二叉树,输出它的得分和前序遍历。得分规则:树的得分 = 左子树的得分 * 右子树的得分 + 根节点的得分。特别的,若没有左(右)子树,则左(右)子树得分为1。若为叶子节点,则得分就是叶子节点的分数。注:题目中给出的中序遍历是每个结点上的分数,并非结点编号,输入...
2020-02-16 21:37:09
142
原创 P1605 迷宫
题目链接P1605 迷宫题目梗概给定一个N*M方格的迷宫,迷宫里有T处障碍,障碍处不可通过。给定起点坐标和终点坐标,问: 每个方格最多经过1次,有多少种从起点坐标到终点坐标的方案。在迷宫中移动有上下左右四种方式,每次只能移动一个方格。数据保证起点上没有障碍。解题思路朴素想法,每次迈出下一步,周围一共有四个位置可以走,依次判断这四个方向的能不能走,如果能走就走。能不能走,需要满足三个条件...
2020-02-16 01:47:17
245
原创 P1101 单词方阵
题目链接P1101 单词方阵题目梗概给出一个单词矩阵,将矩阵中的所有”yizhong“标记出来,“yizhong”的排列方向有八个,即以y为中心起点向(上,右上,右,右下,下,左下,左,左上)排列。输出时,除“yizhong”之外的字符都输出为*。解题思路找到起点y,然后以y为中心,分别判断八个方向上的单词是否为“yizhong”即可。函数功能search(dr, dc, r, ...
2020-02-15 23:12:15
178
原创 P1019 单词接龙
题目链接P1019 单词接龙题目梗概使用一组字符串进行单词接龙,前一个单词的尾部和后一个单词的首部相同时才可以接龙,每个单词最多可以用两次,问最长可以接多长。解题思路数据规模很小,按照最朴素的思想解题即可。即每次要接词时,遍历每一个单词,如果能链接,就接上并继续下一步接龙。完整代码#include <iostream>#include <vector>u...
2020-02-15 21:31:02
204
原创 P1219 八皇后
题目链接P1219 八皇后题目梗概在NxN的棋盘上摆放N个棋子,使得每行、每列、每条正反对角线上有且仅有一个棋子。请计算一共有多少中摆放方式,并输出摆放方式中字典序前三的摆放方式。解题思路字典序问题以行来深搜,最先搜索到的三种摆放结果即为字典序前三。行列对角线判断行:我们是一行一行来搜索的,行不会有重复,不用做判断。列:建立一个数组col记录每列的结果,如果第i列放入了棋子,则...
2020-02-15 16:28:03
165
原创 P1080 国王游戏
题目链接P1080 国王游戏题目梗概现在有一位国王和N位大臣,排成一个队列。每个人左右手中各有整数a,b。队列中的每位大臣都可以获得国王奖励的金币,第i个大臣获得的金币数为 a(king)*a(1)*a(2)*…*a(i-1) / b(i)。所有大臣得到的金币数不完全一样,金币数肯定有最大值。重新排列这些大臣的顺序,会改变这些大臣所得到的金币数,最大值也会有可能改变。求在所有排列的最大...
2020-02-14 03:56:34
252
原创 P1803 凌乱的yyy / 线段覆盖
题目链接P1803 凌乱的yyy / 线段覆盖题目梗概有若干场比赛,每场比赛的时间为ai和bi,求在比赛时间不冲突的情况下,能参加的比赛场数最多为多少。解题思路考虑从早到晚来安排比赛,比赛时间结束越早,则我们之后能安排的比赛理论上就越多。所以首先先对比赛进行排序,结束时间早的优先。设d[i]为i时刻之前能安排最多比赛数,则对于一场比赛而言,参加它后达到的最多比赛数为d[end] = d...
2020-02-01 01:36:52
132
原创 P1094 纪念品分组
题目链接P1094 纪念品分组题目梗概现有一堆纪念品,每个纪念品有其自己的价值。我们需要把这些纪念品分组,但每组纪念品的价值和不能超过上限W,求在该规则下,能分成的最少组数是多少。解题思路每组的纪念品价值和都要尽可能的接近上限。做法是,每次先取当前价值最大和价值最小的组合,如果还有限度,再取剩下中价值最小的,直至不能再添加为止。完整代码#include <vector>...
2020-02-01 00:31:54
255
原创 P1223 排队接水
题目链接P1223 排队接水题目梗概一些人去排队打水,每个人所需打水的时间为time[i],问如何排列这些人,可以使得平均等待时间最少。解题思路方案是,打水时间少的优先打水。证明:设n个人的打水时间为:T1,T2,T3…Tn(已按从小到大排序)。第2个人等待时间为:T1;第3个人等待时间为:T1 + T2;第4个人等待时间为:T1 + T2 + T3;…第n个人等待时间为: ...
2020-01-31 04:33:25
393
原创 P1208 [USACO1.3]混合牛奶 Mixing Milk
题目链接P1208 [USACO1.3]混合牛奶 Mixing Milk题目梗概Marry需要进总量为n的牛奶,现在有m家提供牛奶的奶农,每个奶农卖的牛奶的单价为pi,可提供的牛奶量为ai。求Marry完成此次采购的最小花费。解题思路优先拿剩下的牛奶里最便宜的即可。完整代码#include <iostream>#include <algorithm>usi...
2020-01-31 03:27:00
388
原创 P1181 数列分段Section I
题目链接P1181 数列分段Section I题目梗概将一数列分成若干段,但每段的子数列之和不能超过M,问在此约束下,分成的段数最少是多少。解题思路一个朴素的想法是,让每一个子数列之和都尽可能的大,尽可能的接近阀值M。做法是,从左到右遍历数列,记录遍历过的数列的和,当和大于阀值时,从前一位断开分段,子数列和进行清零,分段数加1,继续上述操作,直至遍历完。这样做最优的原因是:我们考虑这...
2020-01-30 23:08:50
236
原创 P1090 合并果子
题目链接P1090 合并果子题目梗概先要把若干数字相加成一个数字,相加时,只能先两两相加,相加的耗费为当前两个加数之和。如:1与4相加,耗费即为5。问,当给出一组数字后,把他们最终相加成一个数,所需要的最小耗费为多少。解题思路先合并的数字,会在之后的合并中多次重复计算到耗费中,先合并的数字越小,总耗费越少。我们从简单情况入手来理解,比如三个,a b c。假定合并的次序为a+b = d...
2020-01-30 22:15:14
147
原创 P1538 迎春舞会之数字舞蹈
题目链接P1538 迎春舞会之数字舞蹈题目梗概将数字打印成指定大小的数码体,大小指的是横和竖的长度。解题思路可以发现,数码体中,数字都是由七部位组成(上横,左上竖,右上竖,中横,左下竖,右下竖,下横)。所以我们先用一个数组把从0到9其包含的部位信息记录下来,比如g[0]是记录上横的,‘0’有上横,所以g[0][0] =1,而‘1’没有上横,所以g[0][1] = 0。之后就根据存储的部...
2020-01-29 01:22:53
140
原创 P1012 拼数
题目链接P1012 拼数题目梗概给出若干多位数(位数不定),排列组合这些多位数可以得到多个大数,请输出其中最大的一个。解题思路这道题并不需要组合出所有的数,然后排序输出最大的。我们可以结合此题的样例考虑,怎么样才能组合出最大的数,显然是字典序大的放在前面。字典序就是指字典中排序的规则,它首先比较的是首字母(数字),大者优先,比如b > acd 是因为首字母b大于首字母a。如果首...
2020-01-28 21:11:30
288
原创 P1071 潜伏者
题目链接P1071 潜伏者题目梗概根据掌握的一对密文和原文推出加密规则,再根据加密规则解密另一句密文。密文和原文都是有大写字母组成的,在加密规则中,原文字母和密文字母都是一一对应的,不会出现不同的字母加密成一种字母,也不会出现不同的字母解密成一种字母。如果题中给出的一对密文和原文中,出现了上文中所说的不是一一对应的情况就输出,failed。如果可以一一对应,就将另一句密文解密,并输出解密...
2020-01-28 00:28:43
438
1
原创 P1603 斯诺登的密码
题目链接P1603 斯诺登的密码题目梗概从给出的一串包含六个单词的字符串中提取密码。提取过程如下:将表示数字的单词转换为数字。取 数字^2 % 100。如:4 得到 16, 12 得到 44 ,2 得到 04将得到的多个两位数,排列组合,输出最小数。解题思路 单词与数字的对应关系,采用哈希表存储,识别方便。 寻找排列组合最小的数,其实将这些两位数(00,04,16...
2020-01-27 20:06:59
219
原创 P1309 瑞士轮
题目链接P1309 瑞士轮题目描述一种融合了淘汰赛和循环赛的赛制,称为瑞士轮。其规则是:每次比赛前后都要对选手进行排序,分高者优先,分数相同时编号小者优先。排序后,根据排名进行比赛,一二名对垒,三四名对垒,五六名对垒,之后依次类推。如此算是一轮。现在给出所有选手的初始得分,和实力(实力大小决定胜负)。求R轮比赛后,排名第Q位选手的编号。解题思路关键在于排序。对于初始分数,采用快速排...
2020-01-27 17:12:29
248
原创 P1093 奖学金
题目链接P1093 奖学金题目梗概给出学生的学号,语数英成绩。按照总分高的优先、语文分数高的优先和学号小的优先的三个排序原则对所有学生成绩进行排序。打印前五名。解题思路按照题目梗概解题即可。完整代码#include <iostream>#include <algorithm>using namespace std;struct student{ int...
2020-01-22 17:20:01
533
原创 P1051 谁拿了最多奖学金
题目链接P1051 谁拿了最多奖学金题目梗概某学校设立了五种奖学金,这五种奖学金获取条件不同,但可以兼得。现给出多名学生的信息,统计每个学生能得到的奖学金总额。最后输出获得奖学金最多的学生的姓名和奖学金(奖学金大小相同时,输出最先出现的学生姓名),以及学校总共发出去的奖学金总额。解题思路按照题意理解解答即可。获取到学生信息后,分别判断五种奖学金能否获得,统计当前学生的获得奖学金的情况。...
2020-01-22 16:15:40
219
原创 P1583 魔法照片
题目链接P1583 魔法照片题目梗概一堆有编号的数据,先对其进行从大到小的排序,根据排序后的序号对10取模分成10类,数据加上对应类别的权值后,再对数据进行大小排序,输出最大的k个值。值相同时,编号小的优先。解题思路主要注意用来作为分类依据的不是编号,而是最初排序后的序号。其他按照题目流程进行即可。完整代码#include <iostream>#include <...
2020-01-22 15:26:28
222
原创 P1781 宇宙总统
题目链接P1781 宇宙总统题目梗概对大数字进行排序,输出最大值。解题梗概因为数字较大,有的达到了100位,所以采用字符串存储。这里给出的数字都是首部不包含0的,不必进行数据预处理。比较的方式首先位数多的数字比位数小的数字肯定更大一些,即字符串长度大的优先级大。例如,123 > 12其次位数相同时,高位较大的数优先级大例如,121> 111完整代码#includ...
2020-01-14 22:26:24
154
原创 P1068 分数线划定
题目链接P1068 分数线划定题目梗概确定标准数,对给定数据排序,并输出大于等于标准数的数据。解题思路因为输出时需要编号与成绩对应,所以采用结构体数组存储。排序使用algorithm库中的sort函数,它可以自定义排序规则,使用起来非常方便。输出时,先得到m*150位的分数作为分数线。注意这里是位次,取数组下标时要减一。再从当前位向后遍历,把分数等于分数线的志愿者也计算在内,得到最后...
2020-01-14 21:15:37
199
原创 P1059 明明的随机数
题目链接P1059 明明的随机数题目梗概对数组进行去重,排序解题思路先排序,可以把相同数汇聚起来。再去重,这里可以使用双指针来操作,把不重复的元素集中在原数组前面。完整代码#include <iostream>#include <algorithm>using namespace std;int main(){ int a[1010]; int n...
2020-01-11 22:27:37
107
原创 P1177 【模板】快速排序
题目链接P1177 【模板】快速排序题目梗概实现快速排序解题思路快速排序的排序思想大致可以分为一下几部分以数组中某一个数K为标准,通过调整数组中元素位置,让数组中元素的大小分布泾渭分明,左边小于(等于)K,右边大于(等于)K。这样对于整个数组而言就达到了基本有序的状态。之所以称为基本有序,是指左右两子数组的相对位置确定了下来,在正确的排序下,左数组的元素不会到右数组中去,右数组的元素...
2020-01-11 17:56:49
237
原创 P1098 字符串的展开
#include <iostream>#include <cstdio>using namespace std;int type(char a){ if(a >= '0' && a <= '9') return 1; else if(a >= 'a' && a <= 'z')return 2; else r...
2019-10-16 22:35:39
254
原创 P1086 花生采摘
题目链接P1086 花生采摘题目梗概解题思路完整代码#include <iostream>#include <vector>#include <algorithm>using namespace std;struct point{ int row, col, corn;}p;bool cmp(point a, point b){ ret...
2019-09-07 09:21:49
177
原创 P1042 乒乓球
题目链接P1042 乒乓球题目梗概输入一场乒乓球比赛的得分情况,请分别输出在11分制下和21分制下的每小场的得分情况。注:乒乓球比赛中,小场的获胜条件为达到11分(21分)并领先对手2分以上。题目中的每颗球的胜负情况是由多行字符串决定的,当遇到字符E时,代表结束。注:字符E后可能还有字符,但并不算作记录。解题思路按照题目模拟。遍历所有的每颗球的胜负情况,每次判断得分,如果对战双方...
2019-09-05 19:36:20
181
原创 P1031 均分纸牌
题目链接P1031 均分纸牌题目梗概一共n堆纸牌,每堆纸牌数量不同,需要对这些纸牌进行移动,来使得每堆纸牌数量相等。每次可以移动一堆里的多张纸牌,但只能移动到相邻牌堆中。输入n堆牌堆的纸牌数,输出均分纸牌的最少移动次数。函数功能...
2019-09-05 19:36:13
171
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人