自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 Javascript剑指offer65题:矩阵中的路径

Javascript剑指offer65题:矩阵中的路径请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。矩阵中包含一条字符串"bcced"的路径,但是矩阵中不包含"abcb"路径,因为字符串的第一个字符b占据了矩阵中的第一行第二个格子之后,路径不能再次进入该格子。思路1: 我觉得全部都用二维数组做会比较方便 因为要有(ro

2021-03-18 19:06:02 138 1

原创 Javascript剑指offer67题:剪绳子

Javascript剑指offer67题:剪绳子给你一根长度为n的绳子,请把绳子剪成整数长的m段(m、n都是整数,n>1并且m>1,m<=n),每段绳子的长度记为k[1],…,k[m]。请问k[1]x…xk[m]可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。思路1:当输入的数字(number)为1 2 3时这三个数字比较特殊因为不切的时候反而比切的时候大 但是如果你的绳子就这么长 那么还必须要切 所以长度要另算2:

2021-03-16 16:27:25 119

原创 Javascript剑指offer64题:滑动窗口的最大值

Javascript剑指offer64题:滑动窗口的最大值给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5,1}, {2,3,4,[2,6,2],5,1}, {2,3,

2021-03-16 10:37:55 114

原创 Javascript剑指offer52题: 正则表达式匹配

Javascript剑指offer52题: 正则表达式匹配请实现一个函数用来匹配包括’.‘和’‘的正则表达式。模式中的字符’.‘表示任意一个字符,而’'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"abaca"匹配,但是与"aa.a"和"ab*a"均不匹配思路本质上就是定义一个正则题目不是有给正则表达式吗 就是^+正则+$正则表达式的拼接使用new RegExp的方法进行字面量的拼接此时不用写/ /!你只

2021-03-15 20:17:47 86

原创 Javascript剑指offer51题: 构建乘积数组

Javascript剑指offer51题: 构建乘积数组给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素B[i]=A[0]A[1]…*A[i-1]A[i+1]…*A[n-1]。不能使用除法。(注意:规定B[0] = A[1] * A[2] * … * A[n-1],B[n-1] = A[0] * A[1] * … * A[n-2];)对于A长度为1的情况,B无意义,故而无法构建,因此该情况不会存在。思路我用了两个for循环 一个控制在第几轮循环 一个控制在

2021-03-14 18:26:17 80

原创 Javascript剑指offer49题:把字符串转换成整数

Javascript剑指offer49题:把字符串转换成整数将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0思路1:不允许使用将字符串转化为整数的库函数那就是说不允许使用parseInt呗除了这个都可以只用 而且是将字符串转化为数字 那么就只有数学运算的方法将字符串转化为数字了 在这里处理字符串数组中的数字的时候有的还是使用了parseInt我自己觉得可能不太好,所以就没写parseInt 反正数学运算的时候会隐式转换。2:我没有用fo

2021-03-14 18:03:09 155

原创 Service Worker

Service Worker是一个脚本是一个独立于当前页面的脚本是一个独立于当前页面的运行在浏览器后台进程中的脚本它不需要用户打开web页面,也不需要其他交互 所以不会造成堵塞利用它可以实现消息推送 静默更新渐进增强PWA渐进式网络应用说到渐进 很有可能是指浏览器版本的问题 使用特征检测 不在老旧的浏览器中产生影响...

2021-03-12 16:55:00 78

原创 Javascript剑指offer48题:求解两数之和

Javascript剑指offer48题:求解两数之和写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。思路分析那还怎么办呢 两数之和 又不能使用加减乘除运算符除了加减乘除运算符 还是有一些位运算运算符可以完成相关操作的!此篇文章中用到的就是零填充左位移既然是左位移 就肯定是扩大的移动一位扩大两倍 移动两位扩大2^2倍^异或 相同的为0 不同的为1&与 全为1的为1 其余为0我感觉这篇文章没啥技术含量 就记住吧先是异或再是与 和 左移代码

2021-03-12 16:44:13 66

原创 原型链和原型链的继承

原型链和原型链的继承这么宽泛的话题怎么描述?1:从老大开始讲 表示对老大的尊敬所有普通的prototype链都指向老大 Object.prototype 其包含了许多通用的功能(toString)2: 所有的函数都会拥有prototype属性 对于普通函数来讲 没有什么用 但是对于构造函数而言 用处极大3:对象一定拥有__proto__属性实例的原型对象,就是构造函数的原型什么是原型链?通过原型链接的逐级向上的查找机制叫做原型链当我们试图去访问一个对象身上的属性的时候,如果在它身上没有找到

2021-03-12 15:58:45 440

原创 事件传播机制(事件流)

事件传播机制(事件流)什么是事件流事件流就是网页接收事件的顺序事件流包括几个部分在DOM2级元素中 规定的事件流包括三个部分1:事件捕获阶段 (从顶到下)(目的是在目标元素接收事件之前把事件截获)2:处于目标阶段3:事件冒泡阶段 (从底至上)任何发生在W3C模型中的事件 先进入非目标元素的捕获阶段 直到进入目标元素 此时按照代码顺序去执行 再进入非目标事件的冒泡阶段div1.addEventListener("click",function(){alert("div1");},fals

2021-03-12 15:05:56 477

原创 new的时候发生了什么

new的时候发生了什么1:首先会隐秘的创建一个空的实例对象var fn = {}2:会将构造函数的prototype等于实例对象的__proto__Fn.prototype = fn.__proto3:通过使用call方法执行构造函数并把this绑定到实例对象身上call(fn)4:如果函数没有返回其他对象,那么 new 构造函数会自动返回这个新对象手动实现newfunction myNew (fun) { return function () {

2021-03-12 12:46:28 1891

原创 深拷贝与浅拷贝

深拷贝与浅拷贝浅拷贝就是把原对象的每一个属性名的属性值都直接赋值给新的对象cloneObj[i] = obj[i]function shallowClone(obj) { let cloneObj = {}; for (let i in obj) { cloneObj[i] = obj[i]; } return cloneObj;}浅拷贝的值 对于基本类型的拷贝会被正常的拷贝 但是对于引用类型的值 只会拷贝地址 也就是说 这两个对象指向的其实是同一个值对于深

2021-03-12 10:34:29 57

原创 Javascript剑指offer47题:1+2+3+...+n

Javascript剑指offer47题:1+2+3+…+n求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。思路分析也不能用循环 那不是只能用函数了么循环==函数的递归调用首先定义一个全局变量sum然后调用一个函数add定义这个函数add一定要这个函数先加上这个数值 再调用这个函数 参数是原参数-1一定要是–num 如果是num-- 传入的数据等于没有变化 就会陷入死循环代码function Su

2021-03-11 21:13:58 130

原创 Javascript剑指offer42题:和为S的两个数字

Javascript剑指offer42题:和为S的两个数字输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。思路分析因为是递增的数组 又是求和 所以也是要有两个指针 一个是首一个是尾 相加比sum大的话就让tail–相加比sum小的话就让head++就是求首位的和 满足条件的值(head)(tail)放入数组...

2021-03-11 20:51:57 71

原创 Javascript剑指offer45题:扑克牌顺子

Javascript剑指offer45题:扑克牌顺子LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张_)…他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子…LL不高兴了,他想了想,决定大\小 王可以看成任何数字,并且A看作1,J为11,Q为12,K为13。上面的5张牌就可以变成“1,2,3,4,5”(大小王分别看作2和4),“So

2021-03-11 16:19:42 160

原创 Javascript剑指offer46题:孩子们的游戏

Javascript剑指offer46题:孩子们的游戏每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0…m-1报数…这样下去…直到剩下最后一个小朋友,可以不用表演,并且拿到牛客名贵的“名侦探柯南”典藏版(名

2021-03-11 15:40:41 81

原创 Javascript剑指offer41题:和为S的连续正数序列

剑指offer41题:和为S的连续正数序列小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck!解体思路1: 双向指针的移动 假如目前的值是小于sum的 需要把大指针往右移动 数组的长度加一 此时再去和sum进行比较

2021-03-11 10:54:25 83

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除