博客园 - mask_天俊
uuid:7d267088-5232-4821-9010-8cd5fdd6cd4f;id=1081746
2018-10-08T02:33:18Z
mask_天俊
https://www.cnblogs.com/maskmtj/
feed.cnblogs.com
https://www.cnblogs.com/maskmtj/p/9599249.html
用原生js对表格排序 - mask_天俊
阿里的模拟笔试题,当时时间有限没写出来,其实是因为自己对原生dom操作不熟悉,这里补一下。 题目的大意是有一个表格,如代码所示 大概长这样吧,注意有表头,然后让你写一个函数对表中的记录,比如按idx升序排序 思路:就将表中的数据全都取出来,排序之后重新建表。 代码 要记住的点就是,querySele
2018-09-06T08:31:00Z
2018-09-06T08:31:00Z
mask_天俊
https://www.cnblogs.com/maskmtj/
【摘要】阿里的模拟笔试题,当时时间有限没写出来,其实是因为自己对原生dom操作不熟悉,这里补一下。 题目的大意是有一个表格,如代码所示 大概长这样吧,注意有表头,然后让你写一个函数对表中的记录,比如按idx升序排序 思路:就将表中的数据全都取出来,排序之后重新建表。 代码 要记住的点就是,querySele <a href="https://www.cnblogs.com/maskmtj/p/9599249.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/maskmtj/p/9524413.html
js深复制 - mask_天俊
一般来讲深复制主要是为了复制js对象中的引用类型,引用类型在普通的赋值操作下相当于是引用,修改复制对象也会影响原对象,简单的方法的话可以使用JSON.parse(JSON.stringify(obj)) 来实现深复制 然而这是没有考虑对象中有函数的情况,用var b = JSON.parse(JSO
2018-08-23T08:10:00Z
2018-08-23T08:10:00Z
mask_天俊
https://www.cnblogs.com/maskmtj/
【摘要】一般来讲深复制主要是为了复制js对象中的引用类型,引用类型在普通的赋值操作下相当于是引用,修改复制对象也会影响原对象,简单的方法的话可以使用JSON.parse(JSON.stringify(obj)) 来实现深复制 然而这是没有考虑对象中有函数的情况,用var b = JSON.parse(JSO <a href="https://www.cnblogs.com/maskmtj/p/9524413.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/maskmtj/p/9437314.html
c++刷题(43/100)矩阵旋转打印 - mask_天俊
题目1:矩阵旋转打印 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10. 思路:
2018-08-07T07:31:00Z
2018-08-07T07:31:00Z
mask_天俊
https://www.cnblogs.com/maskmtj/
【摘要】题目1:矩阵旋转打印 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10. 思路: <a href="https://www.cnblogs.com/maskmtj/p/9437314.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/maskmtj/p/9426144.html
将本地的mongodb迁移到阿里云 - mask_天俊
首先在阿里云上安装mongodb,可以根据官方教程 https://docs.mongodb.com/manual/tutorial/install-mongodb-on-amazon/ 完成之后启动服务 service mongod start 然后在本地备份数据库 将yourpath文件夹通过x
2018-08-05T08:18:00Z
2018-08-05T08:18:00Z
mask_天俊
https://www.cnblogs.com/maskmtj/
【摘要】首先在阿里云上安装mongodb,可以根据官方教程 https://docs.mongodb.com/manual/tutorial/install-mongodb-on-amazon/ 完成之后启动服务 service mongod start 然后在本地备份数据库 将yourpath文件夹通过x <a href="https://www.cnblogs.com/maskmtj/p/9426144.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/maskmtj/p/9414379.html
c++刷题(39/100)笔试题3 - mask_天俊
题目1: 现在你需要用一台奇怪的打字机书写一封书信。信的每行只能容纳宽度为100的字符,也就是说如果写下某个字符会导致行宽超过100,那么就要另起一行书写 信的内容由a-z的26个小写字母构成,而每个字母的宽度均会事先约定。例如字符宽度约定为[1,2,3,4,5,5,5,5,5,5,5,5,5,5,
2018-08-03T07:27:00Z
2018-08-03T07:27:00Z
mask_天俊
https://www.cnblogs.com/maskmtj/
【摘要】题目1: 现在你需要用一台奇怪的打字机书写一封书信。信的每行只能容纳宽度为100的字符,也就是说如果写下某个字符会导致行宽超过100,那么就要另起一行书写 信的内容由a-z的26个小写字母构成,而每个字母的宽度均会事先约定。例如字符宽度约定为[1,2,3,4,5,5,5,5,5,5,5,5,5,5, <a href="https://www.cnblogs.com/maskmtj/p/9414379.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/maskmtj/p/9404460.html
c++刷题(37/100)笔试题2 - mask_天俊
4道题2小时,又是一道,不过这次的比较难,但第二道不应该的,又是审题不仔细导致没过 题目1: 给定一个字符串,请你将字符串重新编码,将连续的字符替换成“连续出现的个数+字符”。比如字符串AAAABCCDAA会被编码成4A1B2C1D2A。 思路:就简单的字符串处理 第二题: 在一个N*N的数组中寻找
2018-08-02T03:20:00Z
2018-08-02T03:20:00Z
mask_天俊
https://www.cnblogs.com/maskmtj/
【摘要】4道题2小时,又是一道,不过这次的比较难,但第二道不应该的,又是审题不仔细导致没过 题目1: 给定一个字符串,请你将字符串重新编码,将连续的字符替换成“连续出现的个数+字符”。比如字符串AAAABCCDAA会被编码成4A1B2C1D2A。 思路:就简单的字符串处理 第二题: 在一个N*N的数组中寻找 <a href="https://www.cnblogs.com/maskmtj/p/9404460.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/maskmtj/p/9401437.html
c++刷题(33/100)笔试题1 - mask_天俊
笔试总共2小时,三道题,时间挺充裕的,但是最后只做了一道,原因在于自己很浮躁,不审题,不仔细思考。没过的两道都是稍微改一下代码就能过,但是没过就是没过,要引以为戒 题目1: 小W有一个电子时钟用于显示时间,显示的格式为HH:MM:SS,HH,MM,SS分别表示时,分,秒。其中时的范围为[‘00’,‘
2018-08-01T07:19:00Z
2018-08-01T07:19:00Z
mask_天俊
https://www.cnblogs.com/maskmtj/
【摘要】笔试总共2小时,三道题,时间挺充裕的,但是最后只做了一道,原因在于自己很浮躁,不审题,不仔细思考。没过的两道都是稍微改一下代码就能过,但是没过就是没过,要引以为戒 题目1: 小W有一个电子时钟用于显示时间,显示的格式为HH:MM:SS,HH,MM,SS分别表示时,分,秒。其中时的范围为[‘00’,‘ <a href="https://www.cnblogs.com/maskmtj/p/9401437.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/maskmtj/p/9397761.html
js基础知识:闭包,事件处理,原型 - mask_天俊
闭包:其实就是js代码在执行的时候会创建变量对象的一个作用域链,标识符解析的时候会沿着作用域链一级一级的网上搜索,最后到达全局变量停止。所以某个函数可以访问外层的局部变量和全局变量,但是访问不了里层的变量 with和catch语句都会在作用域的前端添加一个变量对象 如果一个函数对象要访问内层函数中的
2018-07-31T11:21:00Z
2018-07-31T11:21:00Z
mask_天俊
https://www.cnblogs.com/maskmtj/
【摘要】闭包:其实就是js代码在执行的时候会创建变量对象的一个作用域链,标识符解析的时候会沿着作用域链一级一级的网上搜索,最后到达全局变量停止。所以某个函数可以访问外层的局部变量和全局变量,但是访问不了里层的变量 with和catch语句都会在作用域的前端添加一个变量对象 如果一个函数对象要访问内层函数中的 <a href="https://www.cnblogs.com/maskmtj/p/9397761.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/maskmtj/p/9394139.html
js快排 - mask_天俊
快排的思路:选定一个基准数,要使得基数的左边的数字全部小于它,右边的数字全部大于它。分别设i和j从左右开始寻找,从左边找到第一个比基数大的数,从右边找到第一个比基数小的数,然后交换这两个数。 当i和j相遇时,交换基数和i。再以同样的方式处理两边的数组。注意:如果基数取的是a[0]那么一定是先从右边开
2018-07-31T01:24:00Z
2018-07-31T01:24:00Z
mask_天俊
https://www.cnblogs.com/maskmtj/
【摘要】快排的思路:选定一个基准数,要使得基数的左边的数字全部小于它,右边的数字全部大于它。分别设i和j从左右开始寻找,从左边找到第一个比基数大的数,从右边找到第一个比基数小的数,然后交换这两个数。 当i和j相遇时,交换基数和i。再以同样的方式处理两边的数组。注意:如果基数取的是a[0]那么一定是先从右边开 <a href="https://www.cnblogs.com/maskmtj/p/9394139.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/maskmtj/p/9390935.html
c++刷题(30/100) - mask_天俊
题目一:合并两个排序的链表 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 思路:利用两个指针cur1,cur2来指分别向两个链表中当前较小的和当前较大的节点,若cur1->val>cur2->val,那么就将两者交换 题目二:树的子结构 输入两棵二叉树
2018-07-30T07:46:00Z
2018-07-30T07:46:00Z
mask_天俊
https://www.cnblogs.com/maskmtj/
【摘要】题目一:合并两个排序的链表 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 思路:利用两个指针cur1,cur2来指分别向两个链表中当前较小的和当前较大的节点,若cur1->val>cur2->val,那么就将两者交换 题目二:树的子结构 输入两棵二叉树 <a href="https://www.cnblogs.com/maskmtj/p/9390935.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/maskmtj/p/9366169.html
c++刷题(27/100)反转单项链表,链表的倒数第k个 - mask_天俊
题目1:调整数组顺序使奇数位于偶数前面 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 思路:主要的问题在于不能乱了之前的相对位置,用了两个循环,第一个遍历数组,第二个里面判断是
2018-07-30T03:34:00Z
2018-07-30T03:34:00Z
mask_天俊
https://www.cnblogs.com/maskmtj/
【摘要】题目1:调整数组顺序使奇数位于偶数前面 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 思路:主要的问题在于不能乱了之前的相对位置,用了两个循环,第一个遍历数组,第二个里面判断是 <a href="https://www.cnblogs.com/maskmtj/p/9366169.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/maskmtj/p/9380064.html
react:在一个组件中调用别的组件中的方法 - mask_天俊
先介绍一下要解决的问题:react中一个组件A和一个组件B,其中B是被connect(connect是redux中的方法)包装过的组件,包装成BContainer,A和BContainer的关系是兄弟关系,在同一个父元素下渲染。现在我们要在点击A的时候调用B中的方法 解决思路:主要是用到ref获取B
2018-07-27T14:50:00Z
2018-07-27T14:50:00Z
mask_天俊
https://www.cnblogs.com/maskmtj/
【摘要】先介绍一下要解决的问题:react中一个组件A和一个组件B,其中B是被connect(connect是redux中的方法)包装过的组件,包装成BContainer,A和BContainer的关系是兄弟关系,在同一个父元素下渲染。现在我们要在点击A的时候调用B中的方法 解决思路:主要是用到ref获取B <a href="https://www.cnblogs.com/maskmtj/p/9380064.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/maskmtj/p/9357707.html
c++刷题(24/100)正则匹配与位运算 - mask_天俊
题目1:正则表达式匹配 请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和
2018-07-25T06:24:00Z
2018-07-25T06:24:00Z
mask_天俊
https://www.cnblogs.com/maskmtj/
【摘要】题目1:正则表达式匹配 请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和 <a href="https://www.cnblogs.com/maskmtj/p/9357707.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/maskmtj/p/9355020.html
发布者订阅者模式 - mask_天俊
看了网上的资料感觉有两种实现,一种是发布的时候有关键字key,然后就执行所有订阅了key的事件,还有一种是没有key直接绑定在发布对象上,对象调用public方法然后执行所有绑定的函数 说到底区别就是前者是多个不同键值的数组存事件,后者是只有一个数组存所有时间,下面的代码是属于前一种
2018-07-23T07:45:00Z
2018-07-23T07:45:00Z
mask_天俊
https://www.cnblogs.com/maskmtj/
【摘要】看了网上的资料感觉有两种实现,一种是发布的时候有关键字key,然后就执行所有订阅了key的事件,还有一种是没有key直接绑定在发布对象上,对象调用public方法然后执行所有绑定的函数 说到底区别就是前者是多个不同键值的数组存事件,后者是只有一个数组存所有时间,下面的代码是属于前一种 <a href="https://www.cnblogs.com/maskmtj/p/9355020.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/maskmtj/p/9326450.html
c++刷题(21/100)树的打印、矩阵覆盖和括号生成 - mask_天俊
题目一:把二叉树打印成多行 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 思路:一开始以为2维的vector可以直接访问,但是试了是不行,会报错,vector在有值之前不能直接访问,所以这道题就是用两个队列,第一个队列q1放一层,然后把这层的孩子节点都塞到第二个队列q2,之后再从
2018-07-20T12:09:00Z
2018-07-20T12:09:00Z
mask_天俊
https://www.cnblogs.com/maskmtj/
【摘要】题目一:把二叉树打印成多行 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 思路:一开始以为2维的vector可以直接访问,但是试了是不行,会报错,vector在有值之前不能直接访问,所以这道题就是用两个队列,第一个队列q1放一层,然后把这层的孩子节点都塞到第二个队列q2,之后再从 <a href="https://www.cnblogs.com/maskmtj/p/9326450.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/maskmtj/p/9324669.html
promise顺序执行,返回结果存放在数组 - mask_天俊
遇到面试的一个编程题:三个返回promise对象的异步操作,让你写一个函数可以将这些操作顺序执行,并返回一个数组包含三个异步对象的结果 异步对象: 注意:promise对象在实例化的时候就会执行,所以函数都是返回promise对象,这样执行函数的时候就会执行promise对象中的内容 我们期望的结果
2018-07-17T09:48:00Z
2018-07-17T09:48:00Z
mask_天俊
https://www.cnblogs.com/maskmtj/
【摘要】遇到面试的一个编程题:三个返回promise对象的异步操作,让你写一个函数可以将这些操作顺序执行,并返回一个数组包含三个异步对象的结果 异步对象: 注意:promise对象在实例化的时候就会执行,所以函数都是返回promise对象,这样执行函数的时候就会执行promise对象中的内容 我们期望的结果 <a href="https://www.cnblogs.com/maskmtj/p/9324669.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/maskmtj/p/9299502.html
c++刷题(18/100)树 - mask_天俊
题目1:二叉搜索树的第k个节点 给定一颗二叉搜索树,请找出其中的第k小的结点。例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4。 思路:因为是二叉搜索树,所以左中右的顺序遍历,第k个就是第k小的,用引用记录k的变换,k==0时就找到了第k小的节点 题目
2018-07-16T11:15:00Z
2018-07-16T11:15:00Z
mask_天俊
https://www.cnblogs.com/maskmtj/
【摘要】题目1:二叉搜索树的第k个节点 给定一颗二叉搜索树,请找出其中的第k小的结点。例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4。 思路:因为是二叉搜索树,所以左中右的顺序遍历,第k个就是第k小的,用引用记录k的变换,k==0时就找到了第k小的节点 题目 <a href="https://www.cnblogs.com/maskmtj/p/9299502.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/maskmtj/p/9281520.html
c++刷题(15/100)矩阵转置,最深子树 - mask_天俊
题目一:矩阵转置 给定一个矩阵 A, 返回 A 的转置矩阵。 矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。 示例 1: 示例 2: 思路:比较简单,但要注意对矩阵的初始化,如果不初始化会报错--》reference binding to null pointer of type '
2018-07-08T15:30:00Z
2018-07-08T15:30:00Z
mask_天俊
https://www.cnblogs.com/maskmtj/
【摘要】题目一:矩阵转置 给定一个矩阵 A, 返回 A 的转置矩阵。 矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。 示例 1: 示例 2: 思路:比较简单,但要注意对矩阵的初始化,如果不初始化会报错--》reference binding to null pointer of type ' <a href="https://www.cnblogs.com/maskmtj/p/9281520.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/maskmtj/p/9270880.html
c++刷题(12/100)无序数组中和为定值的最长子数组 - mask_天俊
题目一: 最短无序连续子数组 给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。 你找到的子数组应是最短的,请输出它的长度。 示例 1: 说明 : 思路:一开始就想到从两边往中间找,然而被重复数的情况弄的快自闭了,正确的姿势是,一个循环,在里面
2018-07-07T14:18:00Z
2018-07-07T14:18:00Z
mask_天俊
https://www.cnblogs.com/maskmtj/
【摘要】题目一: 最短无序连续子数组 给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。 你找到的子数组应是最短的,请输出它的长度。 示例 1: 说明 : 思路:一开始就想到从两边往中间找,然而被重复数的情况弄的快自闭了,正确的姿势是,一个循环,在里面 <a href="https://www.cnblogs.com/maskmtj/p/9270880.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/maskmtj/p/9266799.html
c++刷题(9/100):链表 - mask_天俊
题目一:https://www.nowcoder.com/practice/d0267f7f55b3412ba93bd35cfa8e8035?tpId=13&tqId=11156&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-intervi
2018-07-05T02:04:00Z
2018-07-05T02:04:00Z
mask_天俊
https://www.cnblogs.com/maskmtj/
【摘要】题目一:https://www.nowcoder.com/practice/d0267f7f55b3412ba93bd35cfa8e8035?tpId=13&tqId=11156&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-intervi <a href="https://www.cnblogs.com/maskmtj/p/9266799.html" target="_blank">阅读全文</a>