自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Riptide

running down to the riptide

  • 博客(217)
  • 资源 (2)
  • 收藏
  • 关注

原创 【antd checkbox】 form表单checkbox 但是checkbox不受控

原因:checkbox比较特殊,值绑定用checked,所以需要对form做特殊配置。问题:form表单里面checkbox不能绑定数据。

2024-04-16 17:02:23 203

原创 【ds】 数组中重复的数字

n-1的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找出数组中任意一个重复的数字.例如,如果输入长度为7的数组{2,一,哈希表存储数字为key的对象,遍历数组,时间复杂度O(n), 空间复杂度O(n)如果数组中有重复的数字,那么有的位置存在多个数字,有的位置可能没有数字。3, 1, 0, 2, 5, 3},那么对应的数字是重复的数字2或3.题目一: 在一个长度为n的数组里的所有数字都在0 ~如果这个数组中没有重复的数字,那么排序之后数字。

2024-04-14 15:17:01 141

原创 【javascript】npm ERR! cb() never called!

😄。

2023-12-15 15:12:11 763

原创 【javascript】关于patch-package

3, 修改node_modules目录下的源码,我们目前遇到的vue-pdf预览问题,是修改 node_modules\pdfjs-dist\es5\build\pdf.worker.js 这个文件下面的,_this3.setFlags(_util.AnnotationFlag.HIDDEN);这个包的原理是先记录你的改动,install之后,根据这个patches文件改动源信息,去执行脚本更新这个依赖包里面的内容。一个老的vue项目,预览pdf文件的时候,电子签章不显示。运行代码,预览问题已经解决了。

2023-07-31 16:30:17 673

原创 【typescript】微信小程序扩展你的全局wx对象

比如 xxx.d.ts文件,确保这个文件有被tsconfig.json识别到。1, 找到你的ts定义文件。

2023-04-24 14:59:47 604

转载 【docker】windows docker 存储目录设置

docker 存储目录修改 ,windows

2023-02-13 16:23:07 257

原创 【javascript】飞书群机器人发消息到飞书群(node)

飞书就机器人,发消息,node

2023-02-13 15:26:19 805

原创 【小程序】判断当前元素是否出现在视窗范围内

可视范围

2023-02-01 15:31:45 810

原创 typescript记录

最近需要扩展Funcion类型,增加一个布尔类型的属性值。1,可以自定义类型type OwnFunc = Function & { once?: boolean } 2,也可以声明接口interface OwnFunc { ():any once?: boolean}

2021-10-09 16:28:35 133

原创 性能优化-循环优化[三]

独立于语言递归使用迭代替换递归调用栈太深,所有递归都能用迭代实现。考虑斐波那契数列用迭代实现迭代的优化Duff's Device 减少迭代的次数// 初始化要处理的数组 与handle函数const process = (n)=> n * nvar arr = new Array(100000)for (let i= 0, len = arr.length; i < len; i++) { arr[i] = i}let len = arr.length// 原始

2021-07-18 18:03:10 152

原创 javascript 性能优化--数据存储与DOM相关【二】

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-07-12 16:21:53 298

原创 javascript 性能优化--脚本的加载执行【一】

多数浏览器使用单一进程来处理用户界面【UI】刷新和JS代码执行,所以同一时刻只能做 一件事。JS执行过程耗时越久,浏览器等待响应的时间就越长。

2021-07-04 16:01:03 222

原创 148. sort list 排序链表

148题排序链表题目要求:O(n log n) 时间复杂度和常数级空间复杂度下方法    1, 暴力法,取出来放数组里面,排序,然后重新生成链表,但是不符合题目的要求    2,递归 【自上而下】    思路就是:         2-1,找到链表的中间点(参考找到链表中间点)         2-2,对 中间点分割成为的两个链表分别进行排序,到这里就是调用自己了,递归,对两个链表进行排序。        2-3, 然后合并这两个 有序链表(参考合并有序数组)    3,迭代 【自下而

2021-03-07 16:32:48 336

原创 876. Middle of the Linked List 利用快慢指针求链表的中间节点

比如链表结构为1->2->3->4->5 此时中间节点为 3如果链表结构为 1->2->3->4 此时中间节点为2或者3节点定义利用golang来描述这个实现过程,ListNode的节点实现type ListNode struct { Val int Next *ListNode}实现func middleNode(head *ListNode) *ListNode { slow := head fast := head // 循环遍历完

2021-02-19 21:47:47 128

原创 给定一个数组,正序遍历和逆序遍历构造一个链表

链表基础    单链表的数据定义为: function ListNode(val) { this.val = val; this.next = null; }    需求:给定一个数组 比如 [ 2, 5, 9, 10] 构造一个单链表,结果为2 -> 5 -> 9 -> 10, 但是需要以两种方式去做,    正序遍历构造: function constructLinkedList(arr) { let dummy = new List

2021-01-24 17:43:10 200

原创 centOS内网安装kubernetes集群

最近需要在公司内部网络安装一个k8s集群,内部机器是没法访问外网的,只能访问内部的镜像仓库,和yum库。    实际上还是参考的这两篇文章【文章一】和 【文章二】。只不过重要的几个步骤需要特殊处理下1,更新yum源     添加kubernetes YUM软件源,这个是内网的源。不是公网的,确保内部yum源有资源。    然后再执行安装命令 ,我遇到的问题是三个一起装,kubelet版本一直是最新的,所以分开安装。中途可能会遇到错误提示这里需要手动安装一下 kubernetes-cniyum

2021-01-19 20:30:18 6404 4

原创 kubetcl join node节点加入集群 卡住,无响应

遇到这个问题卡住,找老久才找到原因,所以记录一下:在kubectl join xxxx 的最后加入一个参数--v=2,可以查看具体的详情日志,查了老半天比如 这是我的join命令,ip 和token等已经模糊处理kubeadm join 10.xxx.xxx.41:6443 --token h17xld.xxxxxxxxxxxx \ --discovery-token-ca-cert-hash sha256:xxxxxxxcadba77d56e66a429d695041c6e2c4560af

2021-01-15 09:43:48 3560

原创 求最大公约数

迭代版本 function getCd(a, b) { if (a * b < 0) return 1 if (a ==0 || b == 0) return 0 while( a % b != 0 ){   var c = a % b;   a = b;   b = c; } return b }递归版本 function getCd(a, b) { if (a == 0 || b == 0) return 0

2021-01-09 17:36:44 1096

原创 golang实现tcp客户端服务端程序

服务端代码:package mainimport ( "bufio" "errors" "flag" "fmt" "net" "os" "strconv")// 指定一个命令行参数的名字var port intfunc Init() { flag.IntVar(&port, "port", 8081, "set your server port")}func main() { // 初始化命令行变量 Init() flag.Parse() // 监

2020-12-27 14:49:40 845

原创 寻找有序数组中元素第一次出现的索引和最后一次出现的索引

    有序数组 比如 [1,2,3,4,4,4]    这个在js里面可以直接使用findIndex与lastIndexOf来求出,如果我们自己用代码实现该如何做呢?    看到有序数组的查找,没错,二分 二分,对于有序的数据,总能用二分去解决。findIndex的实现代码:var findFirstIndex = (arr, target) => { let l = 0 let r = arr.length - 1 while(l <= r) { let mid = Ma

2020-12-12 23:59:20 1860

原创 【排序】计数排序

为什么记录这个在做 leetcode 561 题的时候,第三种解法,看了很久才明白,是做了一次计数排序。这个题,直接看第二种和第三种解法。    第二种的排序时间复杂度是O(nlogn)    第三种的排序时间复杂度是O(n)直接看计数排序代码:var countSort = (nums) => { // 这里arr的长度没有设定,利用了javascript的语言特性 // 其他语言,这里的长度应该要保证 arr[Math.max(...nums)]不会越界 let arr

2020-11-21 16:13:22 121 1

原创 找到一个数组的【所有奇数个数的】子数组

var getSubOddArrays = function(arr) { let res = [] for (let i = 0; i < arr.length; i++) { for (let oddLen = 1; (oddLen + i) <= arr.length; oddLen += 2) { res.push(arr.slice(i, i+oddLen)) } } return res };

2020-11-12 17:20:28 456

原创 vue3升级概览

都来自于官网的的升级文档,官网文档点击我异步组件1, overview2.x(before)// simpleconst asyncPage = () => import('./NextPage.vue')//advancedconst asyncPage = { component: () => import('./NextPage.vue'), delay: 200, timeout: 3000, error: ErrorComponent, load

2020-10-20 20:26:50 403

原创 git cherry-pick

     错误操作: 现在在dev分支,提交了一些代码。但是实际上我们应该在自己的feature分支做修改。 所以我们需要将dev这些commit合并到 feature分支上面。    注意: 是特定的commit,不是整个分支合并过去。现在我们有dev分支和feature-01分支。# 切到feature分支git checkout feature-01# 将某一次在dev分支的提交commitId合并到feature-01分支上,单次提交git cherry-pick commit_i

2020-10-17 15:53:25 310

原创 【排序】归并排序

归并排序     归并操作(merge),也叫归并算法,指的是将两个已经排序的序列合并成一个序列的操作.     参考之前的,合并两个有序数组这里我们合并两个有序数组。可以做到排序操作,但是前提是两个有序序列。     对一个杂乱无序的序列,我们可以递归的将两个子序列排列成有序的序列, 子序列可以通过二分法再次划分为两个子序列,直到最后两个子序列只有一个数据。 分治法的应用。实现 /** * 归并排序 - 递归方式实现 */ var sort = (arr) => {

2020-10-11 15:39:22 134

原创 【排序】快速排序

快速排序    快速排序和冒泡排序都是是交换排序中的一种。基本思想    1,在数列中找准一个基准点pivot。    2,将比基准点小的所有值放在基准点的左边,将比基准点大的放在基准点的右边【相等的可以任意放置】。    3,对左边的子数列和右边的子数列,重复1到3的步骤。分而治之,是的递归来了。代码 var sort = (arr, low, high) => { if (!arr || arr.length === 1) return arr // 重要的边界条件

2020-10-10 14:37:29 102

原创 【排序】冒泡排序

冒泡排序(英语:Bubble Sort)又称为泡式排序,是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。假定数组为arr,长度为n第1个元素开始,比较n-1次,第1次走完,最大(or最小)已经在最后一个位置上。第2个元素开始,比较n-2次,第2次走完,第二大(or第二小)在倒数第二个位置上。…第n-1个元素开始,比较1次。第n个元素,不需要比较。代码长这样:var

2020-10-10 13:07:15 196

原创 插入排序-简单插入排序和二分插入排序

插入排序:插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。基本思想每一步都是将 待排序的一个数据,插入到一个已经有序的数据序列里面。直到所有的数据全部插入为止。类似于打牌【斗地主】,每摸一张就按照顺序放到位置。每

2020-10-08 15:06:07 316

原创 数据结构与算法-平衡二叉树【二十】

前景提要因为线性表(假定长度为n)在动态的添加和删除的弊端,所以我们引入了二叉搜索树,但是二叉搜索树有多种形式最好的情况是 线性表的 判定树最坏的情况是这颗二叉搜索树的深度为n,每一层一个节点。最好的情况是这样:ASL = log2(n + 1) - 1 数量级为O(log2n) 5 第一层 / \

2020-09-24 21:40:05 331

原创 数据结构与算法-BST二叉搜索树(二叉排序树)【十九】

线性表在添加和删除的效率较低,所以我们考虑特殊的树,考虑这种存储结构,提高查找效率,以及动态添加和删除的效率。这时会引入 【二叉搜索树】二叉搜索树的定义定义【仍然是递归定义】:左子树为空,那么左子树上的所有值一定是小于根节点的值。右子树不为空,那么右子树上的所有值一定是大于等于根节点的值。左右子树也是一颗二叉搜索树。二叉搜索树 也称为二叉排序树例子: 5 第一层 /

2020-09-13 18:00:44 465

原创 数据结构与算法-线性表的查找【十八】

查找:在特定的数据集合中,找到复合要求的数据。查找的效率判断:结构里面有一个专门的词汇,平均查找长度。通过这个关键指标去判断。平均查找长度关键字的平均比较次数,也称为平均查找长度。查找到关键字的平均比较次数。【很明显这个值越小查找效率越高】n 为总记录的个数;pi 查找到第i个记录的概率(通常pi就是1/n);ci 找到第i个记录需要比较的次数;线性表的查找线性表的查找有三种方式:顺序查找折半查找(二分查找)分块查找下面分别介绍1,顺序查找    线.

2020-09-10 22:06:28 1691

原创 数据结构与算法-最小生成树【十七】

生成树:所有的点由边连接在一起,但是【不存在回路】的图。生成树的特点:树是 图的 极小连通子图, 去掉一条边,则非连通。在生成树中再加一条边必然形成回路。生成树中任意两点之间的路径是唯一的。一个有n个顶点的连通图的生成树有n-1条边。...

2020-08-30 17:00:57 613

原创 数据结构与算法-图的广度优先遍历【十六】

图的广度优先遍历与树的广度优先遍历类似,用队列来实现。节点出队,节点的所有邻接点入队。如此循环,直到队列为空。还是以邻接矩阵表示图,咱们用下面这个图。用邻接矩阵去表示这个图,邻接表的广度优先遍历思路是一致的,只是去找邻接点的时候邻接表会更快。图的定义: function Graph(vexs = [], arcs = []) { this.vexs = vexs this.arcs = arcs }vexs 存储了4个顶点:const vexs= [

2020-08-16 15:38:11 1476

原创 数据结构与算法-图的深度优先遍历【十六】

对于图的遍历,也分为深度优先遍历与广度优先遍历。深度优先遍历:一条路走到黑,直到没有遍历过过的节点,那么回退,不然一直往下面走。还是以之前的这个邻接矩阵为例:以这个邻接矩阵为例:图的定义: function Graph(vexs = [], arcs = []) { this.vexs = vexs this.arcs = arcs }vexs 存储了4个顶点:const vexs= [ 'A', 'B', 'C', 'D']arcs是一个二维数组

2020-08-16 15:24:25 1063

原创 数据结构与算法-根据给定的的路径还原一棵树

这一组路径肯定是以rootNode为起点,但是不一定以叶子 节点结束,给的示例数据如下,a是b的父亲节点,a是e的父亲节点,以此类推arr[i+1]的元素是arr[i]的孩子: const arr = [ ["a", "b"], ["a", "e"], ["a", "f"], ["a", "i"], ["a", "i", "j"], ];代码: // 已知所有的路径求一颗完整的树function getTreeByPaths(arr) { //

2020-08-15 15:49:42 831

原创 数据结构与算法-图论 邻接表【十五】

链式存储 (链式表示)    上一话说的是邻接矩阵方式去存储图,这一话用链表去存储图链式表表示法----【邻接表/ 邻接多重表 / 十字链表】邻接表    将所有的顶点数据仍然存放在一维数组内。    这个一维数组比较特殊,顶点数组的每个元素都指向一个邻接点单链表。咱们以上一个邻接矩阵用到的一个有向图和无向图为例:无向图 的邻接表第一个无向图的邻接表可以这样表示:A邻接于B->C->NULLB邻接于A ->C ->

2020-08-02 17:23:42 5432

原创 数据结构与算法-图论 邻接矩阵【十四】

图的定义数据之间的关系可能是多种的,逻辑结构上来讲,分几种:线性结构非线性结构 【包括三种: 集合结构,树形结构,图状结构】线性结构线性结构的几种表现方式,前面大部分都了解过了:线性表 (List)栈(特殊的线性表) 【先进后出】 (Stack)队列(特殊的线性表)【先进先出】 (Queue)字符串,数组,广义表【广义表是特殊的线性表,广义表的元素可以是子表,子表的元素也可以是子表;如果广义表的每个元素都是原子,它就变成了线性表】非线性结构非线性结构中的 树(clic

2020-08-01 14:53:41 3220

原创 【CSS】不定高度的弹框水平垂直居中

why   对于特定的高度的弹框这个问题很好处理,计算好弹框离父元素的的高度,使用margin处理即可。   但是为了通用性,不必每一次都去计算,有没有通用一点的方法呢,是有的, 通过vertical-aign来做。   css 代码: .container { position: fixed; top: 0; right: 0; bottom: 0; left: 0; /* for IE8 */ background: url(data:image/

2020-07-25 10:54:13 915

原创 数据结构与算法-哈夫曼编码【十三】

定义   哈夫曼树: 带权路径长度和最短的二叉树,也称之为最优二叉树。   哈夫曼编码:在网络传输过程中,对所有的信息进行编码,所有的信息都将转换为0101的二进制形式,根据信息出现的频率,将信息构造成长度最短的编码。原理   比如字符ABCDEBAADF 的字符集合。传输过程中,我们将每一个字符转换成二进制的形式,但是同时要保证这个二进制数据的长度最小。【保证传输的效率】   这就可以和哈夫曼树联系起来,出现概率最大的字符离根节点最近,出现概率最小的字符离根节点最远;

2020-07-13 21:31:12 324

原创 数据结构与算法-构造哈弗曼树【十二】

哈弗曼树的定义哈佛曼树的定义: 带权路径长度最短的树。每一个叶子节点有一个权重值,权重值 乘以 路径长度【路径长度指的是根节点到该节点的路径长度】 ,所有叶子节点的 带权路径长度 之和最小的树,称之为哈弗曼树,也称之为最优二叉树。n为所有叶子节点的个数,w为该叶子节点的权重,length©为该叶子节点的路径长度,改图来自于维基百科。...

2020-07-04 21:22:08 559

servlet 处理上传文件所需的两个包

这两个包 在处理上传 文件的时候用的到 web 处理中

2014-05-14

spring 3.2.0参考手册

这是spring 3.2.0 帮助文档,中文版本的,打开请去掉 打开总是询问这个选项 不然会打开失败

2014-01-07

空空如也

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

TA关注的人

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