自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

白先生的博客

废物一只

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

原创 git-learning

git stautsgit add xx(某个文件名)git add -A (表示所有文件)git commit -m “xxx(描述)”git pushgit pull

2022-06-27 09:30:06 79

原创 LuLu UI表单验证

LuLu UI 一款很好用的UI链接:https://l-ui.com/content/about/design.html表单验证功能取消及时性:var elForm = $(form);var myValidate = new Validate(elForm);// 取消验证及时性myValidate.boo.immediate = false;

2022-03-14 15:06:26 110

原创 HTML常用的特殊符号总结

转载:https://www.haorooms.com/post/html_tsfh

2022-03-11 09:48:57 93

原创 前端显示后端传来的图片base64

2022-03-10 10:59:10 586

原创 KeyCloak ImgSrc

cssbody {background-image: url(’…/img/image.jpg’);background-size: cover;}htmlimg src="${url.resourcesPath}/img/image.jpg"

2022-03-10 10:58:50 67

原创 webpack 多图片引入

const requireContext = require.context("./images", true, /^./.*.png$/);const images = requireContext.keys().map(requireContext);

2022-03-03 10:01:22 524

原创 reflow和repaint

简要:整个在浏览器的渲染过程中(页面初始化,用户行为改变界面样式,动画改变界面样式等)reflow(回流)和repaint(重绘) 会大大影响web性能,尤其是手机页面。因此我们在页面设计的时候要尽量减少reflow和repaint。什么是reflow和repaint(原文链接:http://www.cnblogs.com/Peng2014/p/4687218.html)reflow:例如某个子元素样式发生改变,直接影响到了其父元素以及往上追溯很多祖先元素(包括兄弟元素),这个时候浏览器要重新去渲染这个

2022-02-27 22:02:10 74

原创 JS 哪些事件支持冒泡

2022-02-25 10:34:12 433

原创 Day Thirty

算法来源:力扣 567. 字符串的排列给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列。换句话说,第一个字符串的排列之一是第二个字符串的子串。示例1:输入: s1 = “ab” s2 = “eidbaooo”输出: True解释: s2 包含 s1 的排列之一 (“ba”).示例2:输入: s1= “ab” s2 = “eidboaoo”输出: False注意:输入的字符串只包含小写字母两个字符串的长度都在 [1, 10,000] 之间解题思路这题

2021-02-10 21:19:41 58

原创 Day Twenty-nine

算法来源:力扣174. 地下城游戏一些恶魔抓住了公主(P)并将她关在了地下城的右下角。地下城是由 M x N 个房间组成的二维网格。我们英勇的骑士(K)最初被安置在左上角的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。骑士的初始健康点数为一个正整数。如果他的健康点数在某一时刻降至 0 或以下,他会立即死亡。有些房间由恶魔守卫,因此骑士在进入这些房间时会失去健康点数(若房间里的值为负整数,则表示骑士将损失健康点数);其他房间要么是空的(房间里的值为 0),要么包含增加骑士健康点数的魔法球(若房间里

2021-02-09 14:12:06 77

原创 Day Twenty-eight

算法来源: 力扣 978. 最长湍流子数组当 A 的子数组 A[i], A[i+1], …, A[j] 满足下列条件时,我们称其为湍流子数组:若 i <= k < j,当 k 为奇数时, A[k] > A[k+1],且当 k 为偶数时,A[k] < A[k+1];或 若 i <= k < j,当 k 为偶数时,A[k] > A[k+1] ,且当 k 为奇数时, A[k] < A[k+1]。也就是说,如果比较符号在子数组中的每个相邻元素对之间翻转,则该

2021-02-08 12:04:27 69

原创 Day Twenty-seven

算法来源:力扣 665.非递减数列给你一个长度为 n 的整数数组,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。我们是这样定义一个非递减数列的: 对于数组中所有的 i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1]。示例 1:输入: nums = [4,2,3]输出: true解释: 你可以通过把第一个4变成1来使得它成为一个非递减数列。示例 2:输入: nums = [4,2,1]输出: false解

2021-02-07 23:49:05 56

原创 Day Twenty-six

算法来源 力扣1423.可获得的最大点数几张卡牌 排成一行,每张卡牌都有一个对应的点数。点数由整数数组 cardPoints 给出。每次行动,你可以从行的开头或者末尾拿一张卡牌,最终你必须正好拿 k 张卡牌。你的点数就是你拿到手中的所有卡牌的点数之和。给你一个整数数组 cardPoints 和整数 k,请你返回可以获得的最大点数。示例 1:输入:cardPoints = [1,2,3,4,5,6,1], k = 3输出:12解释:第一次行动,不管拿哪张牌,你的点数总是 1 。但是,先拿最右

2021-02-06 12:40:51 83

原创 Day Twenty-five

算法来源:力扣 53.最大子序和给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。示例 2:输入:nums = [1]输出:1示例 3:输入:nums = [0]输出:0示例 4:输入:nums = [-1]输出:-1示例 5:输入:nums = [-100000]输出:-100

2021-02-05 13:02:34 82

原创 Day Twenty-four

算法来源:力扣 643.子数组最大平均数 I给定 n 个整数,找出平均数最大且长度为 k 的连续子数组,并输出该最大平均数。示例:输入:[1,12,-5,-6,50,3], k = 4输出:12.75解释:最大平均数 (12-5-6+50)/4 = 51/4 = 12.75提示:1 <= k <= n <= 30,000。所给数据范围 [-10,000,10,000]。解题思路找出最大平均数,就是找出最大总和。移动窗口其实很简单,思路就是把第一个去掉,加上后面一个即可

2021-02-04 13:26:12 112 1

原创 Day Twenty-three

算法来源:(力扣)449. 序列化和反序列化二叉搜索树序列化是将数据结构或对象转换为一系列位的过程,以便它可以存储在文件或内存缓冲区中,或通过网络连接链路传输,以便稍后在同一个或另一个计算机环境中重建。设计一个算法来序列化和反序列化 二叉搜索树 。 对序列化/反序列化算法的工作方式没有限制。 您只需确保二叉搜索树可以序列化为字符串,并且可以将该字符串反序列化为最初的二叉搜索树。编码的字符串应尽可能紧凑。示例 1:输入:root = [2,1,3]输出:[2,1,3]示例 2:输入:root

2021-02-03 15:56:01 98

原创 Day Twenty-two

算法来源:力扣(LeetCode)34. 在排序数组中查找元素的第一个和最后一个位置给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。进阶:你可以设计并实现时间复杂度为 O(log n) 的算法解决此问题吗?示例 1:输入:nums = [5,7,7,8,8,10], target = 8输出:[3,4]示例 2:输入:nums = [5,7,7,8,8,10],

2021-02-02 12:22:55 63

原创 Day Twenty-one

算法来源:力扣(LeetCode)207. 课程表这个学期必须选修 numCourse 门课程,记为 0 到 numCourse-1 。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们:[0,1]给定课程总量以及它们的先决条件,请你判断是否可能完成所有课程的学习?示例 1:输入: 2, [[1,0]]输出: true解释: 总共有 2 门课程。学习课程 1 之前,你需要完成课程 0。所以这是可能的。示例 2:输入: 2, [

2021-02-01 23:53:16 60

原创 Day Twenty

算法来源:力扣(LeetCode)236. 二叉树的最近公共祖先给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4]示例 1:输入: root = [3,5,1,6,2,0,8,null,null,7,4],

2021-01-31 15:36:39 55

原创 Day Nineteen

算法来源:力扣(LeetCode)315. 计算右侧小于当前元素的个数给定一个整数数组 nums,按要求返回一个新数组 counts。数组 counts 有该性质: counts[i] 的值是 nums[i] 右侧小于 nums[i] 的元素的数量。示例:输入:nums = [5,2,6,1]输出:[2,1,1,0]解释:5 的右侧有 2 个更小的元素 (2 和 1)2 的右侧仅有 1 个更小的元素 (1)6 的右侧有 1 个更小的元素 (1)1 的右侧有 0 个更小的元素提示:0

2021-01-30 15:14:11 125

原创 Day Eighteen

算法来源:力扣(LeetCode)22. 括号生成数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例 1:输入:n = 3输出:["((()))","(()())","(())()","()(())","()()()"]示例 2:输入:n = 1输出:["()"]提示:1 <= n <= 8解题思路这类题和前两天的题目都一致,就是看我们如何将题目转化成我们会的领域,之前的题目都是选不选这个数字,而这题变成了选左括号还是右括号

2021-01-29 20:48:43 60

原创 Dat Seventeen

算法来源:力扣(LeetCode)90. 子集 II给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: [1,2,2]输出:[[2],[1],[1,2,2],[2,2],[1,2],[]]解题思路这题和昨天那题的区别就在于会包含重复的元素,也就是说[A,B,C] 产生的子集[[],[A],[B],[C],[A,B],[A,C],[C,B],[A,B,C]] 如果B=C 那么[A,C]=[A,B] 题目要求

2021-01-28 23:03:54 81

原创 Day Sixteen

算法来源:力扣(LeetCode)给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。示例 1:输入:nums = [1,2,3]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]示例 2:输入:nums = [0]输出:[[],[0]]提示:1 <= nums.length <= 10-10 <= nums[i] <= 10

2021-01-27 23:53:49 59

原创 Day Fifteen

算法来源:力扣(LeetCode)45. 跳跃游戏 II给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。示例:输入: [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。说明:假设你总是可以到达数组的最后一个位置。解题思路这是跳跃题的提升版,上次跳跃题是不用具体到最后一

2021-01-26 23:48:40 105 1

原创 Day Fourteen

一周总结:队列:先进先出;栈:先进后出;队列实现栈:利用多一个队列,存储新的元素,然后将旧队列依次存放到新队列,然后新队列再放回新队列即可。栈实现队列:利用多一个栈,先将旧栈元素放入新的栈中,然后把新元素放入旧的栈中,最后将新的栈元素依次放入旧栈中即可;最小栈:利用多一个栈,专门存储当前栈最小的元素,每当原栈新进元素时,最小栈top元素和新元素对比一下,新元素大,最小栈就进top元素,新元素小,最小栈就进新元素;验证栈序列:队列中存储出栈循序,然后新建一个栈,模拟进栈。当栈顶元素和队列头元素相同

2021-01-26 00:09:49 77

原创 Day Thirteen

算法来源:力扣 402. 移掉K位数字给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小。注意:num 的长度小于 10002 且 ≥ k。num 不会包含任何前导零。示例 1 :输入: num = “1432219”, k = 3输出: “1219”解释: 移除掉三个数字 4, 3, 和 2 形成一个新的最小的数字 1219。示例 2 :输入: num = “10200”, k = 1输出: “200”解释: 移掉首位的 1 剩下的数字为 20

2021-01-24 22:59:23 96

原创 Day Twelve

《大话数据结构》第五章 串对串这种结构更多关注它子串的应用问题,查找,替换等操作。KMP:一种字符串对比方法,比暴力对比要快(前提部分匹配比较多)假设现在有字符串S=“abcabcabcabcabc…” 子字符串T=“abcabx”要从S中找T,暴力方法:只要有不匹配的地方,就马上让i=i-(j-1),然后j=1重新开始.而KMP则是让i不变,j=next[j];好家伙这个next[j]让我搞了好久才弄懂其原理,主要是自己太蠢了。先看看书上怎么说:例一图:什么叫前缀呢,前缀就是有一

2021-01-22 23:01:04 72

原创 Day Eleven

《大话数据结构》第四章 栈和队列两栈共享空间,这个概念,一开始不太理解。书中用两个人合租一个地方来解释,我想这合租就是为了省钱,但没把它转换成省空间,当知道到是省空间后,其实就是两个栈如何公用一个空间数组,一个从栈底开始,一个从头部开始即可。判断是否满栈:top1+1==top2使用条件:相同数据类型的栈选取链栈或顺序栈栈的使用过程中元素变化不可预料,有时很大有时很小就使用链栈,在可控范围内就使用顺序栈。循环队列解决顺序队列删除头部元素时,需要让后面的元素依次向前移动的问题。利用front和

2021-01-21 23:51:53 76

原创 Day Ten

算法题算法题:基本计算器来源:力扣 244实现一个基本的计算器来计算一个简单的字符串表达式 s 的值。示例 1:输入:s = “1 + 1”输出:2示例 2:输入:s = " 2-1 + 2 "输出:3示例 3:输入:s = “(1+(4+5+2)-3)+(6+8)”输出:23提示:1 <= s.length <= 3 * 105s 由数字、’+’、’-’、’(’、’)’、和 ’ ’ 组成s 表示一个有效的表达式解题思路题目比较麻烦,难点有两个1,如何处理

2021-01-20 23:45:33 63

原创 Day Nine

算法题算法题:最小栈来源:力扣 155设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。push(x) —— 将元素 x 推入栈中。pop() —— 删除栈顶的元素。top() —— 获取栈顶元素。getMin() —— 检索栈中的最小元素。示例:输入:[“MinStack”,“push”,“push”,“push”,“getMin”,“pop”,“top”,“getMin”][[],[-2],[0],[-3],[],[],[],[]]输出:[

2021-01-19 23:03:38 71

原创 Day Eight

算法题题目来源力扣:225. 用队列实现栈使用队列实现栈的下列操作:push(x) – 元素 x 入栈pop() – 移除栈顶元素top() – 获取栈顶元素empty() – 返回栈是否为空注意:你只能使用队列的基本操作-- 也就是 push to back, peek/pop from front, size, 和 is empty 这些操作是合法的。你所使用的语言也许不支持队列。 你可以使用 list 或者 deque(双端队列)来模拟一个队列 , 只要是标准的队列操作即可。你可以

2021-01-18 23:13:36 87

原创 Day Seven

算法题今天没有新的算法题哦,因为今天把前几天的链表题重新码一遍,加深印象。前端今天开始学css,学了选择器的内容。常用选择器<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>

2021-01-17 22:34:16 86

原创 Day Six

前端芜湖,今天终于看完了HTML了,重新了解了一遍,学到了很多之前没有学到的知识,更加理解了HTML,最主要的还是明白了如何规范化写HTML。今日随笔:(1-9在之前的文章里)10. a中的链接用相对路径,易于之后的修改11.a中加title属性,对链接进行描述,一般都会设置成与跳转后页面head中的title一致12.a中加id属性,可以让网页定位到某个位置,#id13.a中target属性,默认当前标签页跳转,当设置为_blank时可以在新的标签页跳转。14.如果已经有链接打开了新的标签页

2021-01-16 22:54:33 85

原创 Day five

前端其实今天差点就打乱每日行程了,早上按时起床背完单词,然后今早在看html的书,看到第四章,说要把自己的网站发布上去。然后我就去找办法,如何白嫖个域名,临时学习一下如何发布网站就好了。没想到搜了半天之后就搜到了搭建自己的博客,利用github和hexo创建属于自己的博客,听起来有点帅,就尝试学着搭建,一弄就弄到了下午。创建过程曲折,总有奇怪的错误,然后解决,最后成功创建了。可是自己又不想套用别人的blog架构,但是自己目前的能力搭起来会很慢,所以我就决定先把他放在那,等我把前端知识学完,第一个实践的项目

2021-01-15 23:45:42 114

原创 Day four

算法题:题目来源:力扣(LeetCode)给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意,pos 仅仅是用于标识环的情况,并不会作为参数传递到函数中。说明:不允许修改给定的链表。进阶:你是否可以使用 O(1) 空间解决此题?示例 1:输入:head = [3,2,0,-4], pos = 1输出:返回索引为 1

2021-01-14 23:09:20 239

原创 Day three

算法题:题目来源:力扣(LeetCode)简单题:编写一个程序,找到两个单链表相交的起始节点。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为 8 (注意,如果两个链表相交则不能为 0)。从各自的表头开始算起,链表 A 为 [4,1,8,4,5],链表 B 为 [

2021-01-13 22:56:45 81

原创 Day two

前端实体由于在html中有些特殊符号不能直接书写,需要用到转义字符(实体)实体语法:&实体名字;ex: &nbsp; 空格&gt; 大于号等等可以参考实体手册meta简介:中文名叫元数据,是用于描述数据的数据。它不会显示在页面上,但是机器却可以识别。作用:meta常用于定义页面的说明,关键字,最后修改日期,和其它的元数据。这些元数据将服务于浏览器(如何布局或重载页面),搜索引擎和其它网络服务属性一、name属性:1.keywords(关键字)作用:告诉搜

2021-01-12 22:14:24 86

原创 Day one

算法题(题目来源LeetCode 206):反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?解题思路:迭代法:1.创建一个空节点(new_head)2.备份head->next 到ListNode*next3.让原链表的head->next指向new_head4.new_head指向he

2021-01-11 22:31:20 87

前后端分离象棋项目(vue+empress)react架构

就一个简单的小象棋项目,启动就可以玩了。废材一个,多多指教!

2021-01-12

CroppedYale和ORL的人脸识别

ORL和CroopedYale人脸识别的的实验,代码做了挺详细的注解的,就是yale需要跑挺久的,大概需要6分钟才能跑完,所以也准备好了已经跑好的特征数据,直接用也可以。有什么问题可以留言评论,交流学习。我是废物。

2021-01-12

空空如也

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

TA关注的人

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