学习笔记
卷帘依旧
这个作者很懒,什么都没留下…
展开
-
实现一个发布-订阅模式
订阅/发布者模式订阅发布模式:一对多的关系,让多个观察者同时监听某一个主题对象,这个主题对象的状态发生改变时就会通知所有观察者对象,中间通过一个调度中心来发布通知function Dep(){ this.subs = [];}Dep.prototype.addSub = function(sub){ this.subs.push(sub);}Dep.prototype.notify = function(){ this.subs.forEach(sub =>原创 2020-09-14 14:16:04 · 532 阅读 · 0 评论 -
javascript实现继承的七种方式(from 红宝书)
继承是面向对象语言的基础概念,一般OO语言支持两种继承方式:接口继承和实现继承。接口继承只继承方法签名,而实现继承则继承实际的方法。ECMAScript中函数没有签名,因此无法实现接口继承。ECMAScript只支持实现继承,而其实现继承主要是靠原型链来实现。一、原型链原型链作为实现继承的主要方法,其基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法。利用原型链的思想实现继承的简...原创 2020-04-28 21:08:43 · 766 阅读 · 1 评论 -
js--实现一个instanceof
var _instanceof = function(a, b){ // 判断a是否在b的原型链上 if (a.__proto__ === b.prototype) return true;// 找到Object.prototype停止 if (a.__proto__ === null) return false; // if (a === null) re...原创 2020-04-21 19:07:00 · 1568 阅读 · 1 评论 -
算法题:输出DOM结构
console.log(output(document.documentElement))function output(el) { let result_list = [] do_output(el, 0, result_list) return result_list.join('\n');}function do_output(el, level, res...原创 2020-04-21 18:01:00 · 806 阅读 · 2 评论 -
js-实现一个new函数
javascript中在new一个对象时发生了什么?1.创建一个新对象2.将新对象的__proto__指向构造函数原型,也就是将新对象链接到原型链上3.将构造函数中的this指向新对象4.构造函数中若有返回值,就直接返回;否则返回新对象function Person(name, age){ this.name = name; this.age = age;}...原创 2020-04-18 14:16:06 · 1194 阅读 · 0 评论 -
面试题:实现一个add函数
//实现一个add功能function add(a) { let fn = function(b) { a = a + b; return fn; } fn.toString = function() { return a; } return fn;}add(1); // 1add(1...原创 2020-04-09 17:08:46 · 1764 阅读 · 0 评论 -
setInterval、setTimeout、requestAnimationframe对比
定时器方法:setTimeout(): 设定时间后执行函数setInterval(): 每隔一段时间执行一次函数requestAnimationFrame(): 与屏幕的刷新频率保持一致三者对比:setTimeout和setInterval为异步事件,内在运行机制决定了时间间隔参数实际上只是指定了把动画代码添加到浏览器任务队列中等待执行的时间;如果任务队列中有其它事件,那么要等...原创 2020-04-06 17:33:17 · 274 阅读 · 0 评论 -
http状态码和缓存机制
http状态码含义,缓存失效的状态码是多少http缓存机制,对应的状态码缓存失效的状态码是2002XX203 Non-Authoritative Information,服务器已成功处理了请求,但返回的实体头部元信息不是在原始服务器上有效的确定集合,而是来自本地或者第三方的拷贝由于正在使用的是文档副本所以某些响应头信息可能不正确。这是 HTTP 1.1中新加入的。204...原创 2020-03-31 17:46:01 · 731 阅读 · 0 评论 -
浏览器有哪些进程?浏览器进程,渲染进程,网络进程,渲染进程有哪些线程?
浏览器进程,渲染进程有哪些线程参考:https://segmentfault.com/a/1190000012925872原创 2020-03-31 16:40:49 · 2968 阅读 · 1 评论 -
javascript--类数组转为数组
// 类数组:通常把拥有数值length属性和对应非负整数属性的对象看成一种类型的数组// 常见的类数组:arguments和DOM方法返回的元素筛选(getElementsByTagName, getElementsByClassName)// 方法一:最原始的方法:借用一个空数组,遍历// var eles = document.getElementsByTagName('di...原创 2020-03-26 19:06:31 · 93 阅读 · 0 评论 -
面试常见算法题之快速排序
面试常见算法题--快速排序原创 2019-09-23 20:19:49 · 329 阅读 · 0 评论 -
动态规划之股票交易问题
动态规划_股票问题详解动态规划之股票的买卖_简书Table of ContentsBest Time to Buy and Sell Stock IBest Time to Buy and Sell Stock IIBest Time to Buy and Sell Stock IIIBest Time to Buy and Sell Stock IVBest Time...原创 2019-11-19 17:46:24 · 485 阅读 · 0 评论 -
matlab 连通分量去除孤立点
src_img_name = 'haixing.png';img = imread(src_img_name);% get binary imagegray_img = rgb2gray(img);T = graythresh(gray_img);bw_img = imbinarize(gray_img, T);% find the largest connected regio...转载 2019-06-25 17:09:27 · 4219 阅读 · 0 评论 -
MAC 命令行拷贝文件夹
命令:cp -R 源文件 目标文件cp -R libsvm-3.23 /Applications/MATLAB_R2017b.app/toolbox将当前目录下的libsvm-3.23拷贝到/Applications/MATLAB_R2017b.app/toolbox中-R是对目录进行递归操作...转载 2018-11-26 19:50:24 · 56530 阅读 · 0 评论 -
图形图像融合简介
图像融合图像融合是什么图像融合方法图像融合算法图像融合算法的评价图像融合的应用图像融合是什么图像融合是图像处理的一种方式,通过将多种传感器在同一时间对某一具体场景的图像或者图像序列信息加以综合,输出一幅更适合于人类视觉感知或计算机进一步处理与分析的融合图像,可克服单一传感器图像在几何、光谱和空间分辨率等方面存在的局限性和差异性,提高图像清晰度和信息包含量,有利于更为准确、可靠、全面地获取目标或...原创 2018-12-19 22:13:44 · 3501 阅读 · 2 评论 -
matlab 像素点生成图像
生成黑白图像data=[172 179 184 184 178 178 177 173 171 174 177 178 176 169 165 161 163 161 180 205 201 183 171 177 178 180 194 101 55 65 60 47 55 65 63 59 58 63 57 52 90 105 117 122 130 143 153 157 163 17...原创 2019-01-16 12:07:40 · 11649 阅读 · 0 评论 -
GrabCut笔记第一篇
文章来源:“GrabCut” — Interactive Foreground Extraction using Iterated Graph文章结构1. 摘要文章基于GraphCut提出一种新的图像分割方法GrabCut, 该算法只需要少量用户操作就能够高质量地将前景从背景中分离出来,同时开发了“border matting”方法处理分割图像的边界,使之更加平滑。2. 相关工作首先介绍...原创 2019-02-07 20:31:21 · 1198 阅读 · 0 评论 -
python学习笔记-列表、集合和字典的推导式
列表推导式是python最受欢迎的特性之一。列表推导式形式为:[expr for val in lst if condition]字典的推导式形式为:{key-expr : value-expr for value in collection if condition}集合的推导式形式为:{expr for value in collection if condition}举例...原创 2019-02-24 16:46:43 · 133 阅读 · 0 评论 -
python 字典的使用
leetcode上的一道题:给定一个字符串,判断字符串中是否有不重复字符,如果存在,返回第一个不重复字符的索引;否则返回-1我的方法如下:def firstUniqChar(self, s): """ :type s: str :rtype: int """ dics = {} print...原创 2019-03-21 21:09:40 · 114 阅读 · 0 评论 -
matlab中的掩膜抠图
改进版矩阵中的循环操作非常耗时,so 用矩阵逻辑与操作替代for循环one = ones(s_img(1), s_img(2));segM = segM & uint8(one);% for i=1:s_img(1)% for j=1:s_img(2)% if segM(i,j)==255% segM(i,j)=1;% ...原创 2019-04-10 21:35:56 · 22403 阅读 · 22 评论 -
MacOS中使用Xcode调试matlab中的mex文件
按照官方文档进行设置:https://ww2.mathworks.cn/help/matlab/matlab_external/debugging-on-mac-platforms.html#d117e29110调试的步骤:1. 将要调试的cpp文件拖到xcode中的最左侧一栏中,任意设置一个断点2. 点击xcode中启动调试3. 新建一个matlab运行实例(右键dock中已...原创 2019-04-11 21:31:22 · 2023 阅读 · 0 评论 -
判断链表是否有环 如果有,那么找出环的入口
常见的面试题,除了会写代码之外,还要会数学推导,也就是深入理解原理,下面进行说明1 判断链表是否有环设置两个指针,一个快指针和一个慢指针,快指针每次向前移动2步,慢指针每次移动1步,由于快指针的移动速度快于慢指针,所以链表如果无环,快指针会先到达末尾,也就是NULL的位置;链表如果有环,快指针会先进入环内,之后会一直在环内移动,快慢指针最终在环内的某个位置相遇。慢指针p;快指针q;环的...原创 2019-12-13 19:41:02 · 134 阅读 · 0 评论 -
MacOS Xcode openCV环境搭建
opencv4.0.1+xcode10_1+macOS Mojave version10.14.4安装步骤可以参考一下博文:https://blog.csdn.net/sinat_38221796/article/details/80230645终于搭好了opencv的环境,激动鸭。。。我安装的步骤是参考了多个博客的,具体哪几个也记不太清了。。。可以参考官方文档最后一步就是在新...原创 2019-04-16 16:57:41 · 264 阅读 · 3 评论 -
动态规划之背包问题
0-1背包问题(含代码)0-1背包问题入门详解动态规划常见面试题总结【动态规划】01背包问题(通俗易懂,超基础讲解)动态规划之完全背包详解Table of Contents题型一(01背包)题型二(01背包)题型三(完全背包)题型四(多重背包)背包问题是典型的动态规划问题,不同类型的背包问题有不同的解题思路01背包:N件物品,每件物品有一个完全背包:...原创 2019-04-22 21:21:16 · 333 阅读 · 0 评论 -
leetcode378 Kbh Smallest Element in a Sorted Matrix
给定一个n*n的矩阵,矩阵中的每一行、每一列元素按升序排序,找出矩阵中第k小的元素Example:matrix = [ [ 1, 5, 9], [10, 11, 13], [12, 13, 15]],k = 8,return 13.注意:你可以认为k总是有效的,1<=k<=n^2利用python的函数库完成算法def kthSmal...原创 2019-04-21 10:45:03 · 93 阅读 · 0 评论 -
MAC 查看程序安装目录
查看程序安装目录:ps -ef | grep 程序名字 e.g.: ps -ef | grep matlab转载 2018-11-26 19:39:05 · 4426 阅读 · 3 评论