自定义博客皮肤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)
  • 收藏
  • 关注

原创 Set数据结构

set单词的意思是集合,数学里集合中的每个元素都是唯一的。所以Set就是:用来存放任意类型唯一值的数据结构set结构为了保持键值对形式,key和value相等的js中没有准确的set写法,也就是还没有set字面量。

2023-03-24 15:42:05 1307

原创 深拷贝原生Javascript

实现代码可以直接复制,解析在下方。

2023-03-14 20:06:53 164

原创 快速上手echarts 新手也能3分钟利用echarts绘制一个好看的图表

填写多个数据对象,即可实现下图效果点击图例还可以将部分数据收起。

2022-08-22 23:39:46 577

原创 H5语义化标签

*任何同时存在于任意一系列文档中的相同、重复内容,比如侧边栏、导航栏链接、版权信息、网站 Logo,搜索框(除非搜索框为文档的主要功能),都不应当被包含在其内。[参考MDN]([Flow content]https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/article) :网站中的独立结构,其意在成为可独立分配的或可复用的结构,如在发布中,它可能是论坛帖子、杂志或新闻文章、博客、用户提交的评论、交互式组件,或者其他独立的内容项目。...

2022-08-13 17:05:41 264

原创 js获取css样式

而当我们用js元素.style只能设置行内样式,要获取css样式可以使用getComputedStyle。3.外链式,在文档head标签内,用link标签引入外部css文件,普通权重,书写方便经常使用。1.行内式,在元素标签中由style属性书写,权重高,书写不方便。2.内嵌式,在文档head标签内,用style属性书写,普通权重,经常使用。...

2022-08-02 08:00:00 2021

原创 初步认识对象

此时k(key缩写)代表属性,forin即使用for循环把b对象中的属性遍历。客服“亲,不好意思。冒昧的问一下,哪个是您的身高,哪个是您的体重呢?在写同一类对象时,反复以方法一的格式创建对象,代码重复度高十分冗余。那么使用对象时,将属性与值绑定在一起,对客服来说就比较友好了!对象.方法名()调用方法时注意加括号。如果使用数组,难免会因为两个相近的数值无法判断,这是谁的值。当小红在网购时,客服看到了小红的数组数据。使用数组存储数据时,每次存入值,而不知道这个值属于谁。是一种轻量级的数据交换格式。...

2022-07-30 11:19:36 81

原创 无js实现弹出层效果

无js实现弹出层效果

2022-07-15 08:00:00 191

原创 JavaScrip的前世今生!

JavaScrip的前世今生!故事背景:Mosaic浏览器——1993年第一个可以显示图片的浏览器!这在当时引起一片轰动,很大程度的推动了互联网的发展!当网络冲浪越来越流行,网页与用户之间交互功能(交流互动)的不足被越放越大!在当时大家的网速根本不如今天这般快速,试想假如用户提交表单等待30s,最后得到的反馈只是漏写了一个必填的关键字段。那么用户的心理一定是这样的!像这样的情况在JavaScript中只需要加入正则表达式验证内容即可,而在没有JavaScript之前,这一切对用户体验是在太不友好

2022-07-13 20:25:34 212

原创 五种定位——粘性定位

第五种定位——粘性定位

2022-07-11 17:28:19 386 1

原创 蓝桥真题——猴子分香蕉

5只猴子是好朋友,在海边的椰子树上睡着了。这期间,有商船把一大堆香蕉忘记在沙滩上离去。第1只猴子醒来,把香蕉均分成5堆,还剩下1个,就吃掉并把自己的一份藏起来继续睡觉。第2只猴子醒来,重新把香蕉均分成5堆,还剩下2个,就吃掉并把自己的一份藏起来继续睡觉。第3只猴子醒来,重新把香蕉均分成5堆,还剩下3个,就吃掉并把自己的一份藏起来继续睡觉。第4只猴子醒来,重新把香蕉均分成5堆,还剩下4个,就吃掉并把自己的一份藏起来继续睡觉。第5只猴子醒来,重新把香蕉均分成5堆,哈哈,正好不剩!请计算一开始最少有多

2022-02-24 18:04:28 251

原创 蓝桥真题——字母列阵

仔细寻找,会发现:在下面的8x8的方阵中,隐藏着字母序列:“LANQIAO”。SLANQIAOZOEXCCGBMOAYWKHIBCCIPLJQSLANQIAORSFWFNYAXIFZVWALCOAIQNAL我们约定: 序列可以水平,垂直,或者是斜向;并且走向不限(实际上就是有一共8种方向)。上图中一共有4个满足要求的串。下面有一个更大的(100x100)的字母方阵。你能算出其中隐藏了多少个“LANQIAO”吗?import java.util.Scanner;public c

2022-02-24 18:03:21 184

原创 蓝桥真题——那天返回

小明被不明势力劫持。后被扔到x星站再无问津。小明得知每天都有飞船飞往地球,但需要108元的船票,而他却身无分文。他决定在x星战打工。好心的老板答应包食宿,第1天给他1元钱。并且,以后的每一天都比前一天多2元钱,直到他有足够的钱买票。请计算一下,小明在第几天就能凑够108元,返回地球。public class Demo01 { public static void main(String[] args) { int salary = 1; // 每天的工资 in

2022-02-24 18:02:43 217

原创 蓝桥真题——子串

一个字符串的非空子串是指字符串中长度至少为 1 的连续的一段字符组成 的串。例如,字符串aaab 有非空子串a, b, aa, ab, aaa, aab, aaab,一共 7 个。 注意在计算时,只算本质不同的串的个数。 请问,字符串0100110001010001 有多少个不同的非空子串?import java.util.HashSet;import java.util.Scanner;import java.util.Set;public class demo3 { public st

2022-02-24 18:01:01 132

原创 蓝桥真题——求和

小明对数位中含有 2、0、1、9 的数字很感兴趣,在 1 到 40 中这样的数包 括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。 请问,在 1 到 2019 中,所有这样的数的和是多少?import java.util.Scanner;public class demo1{ public static void main(String[] args) { Scanner input=new Scanner(System.in);

2022-02-24 18:00:27 359

原创 蓝桥真题——矩形切割

小明有一些矩形的材料,他要从这些矩形材料中切割出一些正方形。当他面对一块矩形材料时,他总是从中间切割一刀,切出一块最大的正方 形,剩下一块矩形,然后再切割剩下的矩形材料,直到全部切为正方形为止。 例如,对于一块两边分别为 5 和 3 的材料(记为 5×3),小明会依次切出 3×3、2×2、1×1、1×1 共 4 个正方形。 现在小明有一块矩形的材料,两边长分别是 2019 和 324。请问小明最终会 切出多少个正方形?import java.util.Scanner;public class d

2022-02-24 17:59:57 176

原创 蓝桥真题——指数计算

请计算:7 ^ 2020 mod 1921,其中 A mod B 表示 A 除以 B 的余数。import java.util.Scanner;public class 指数计算 { public static void main(String[] args) { Scanner input=new Scanner(System.in); long ans=7; for(long i=1;i<=2019;i++){ a

2022-02-24 17:59:11 192

原创 蓝桥真题——跑步训练

小明要做一个跑步训练。初始时,小明充满体力,体力值计为 10000。如果小明跑步,每分钟损耗600 的体力。如果小明休息,每分钟增加 300 的体力。体力的损耗和增加都是均匀变化的。小明打算跑一分钟、休息一分钟、再跑一分钟、再休息一分钟……如此循环。如果某个时刻小明的体力到达 0,他就停止锻炼。请问小明在多久后停止锻炼。为了使答案为整数,请以秒为单位输出答案。答案中只填写数,不填写单位。import java.util.Scanner;public class 跑步训练 { publ

2022-02-24 17:58:34 130

原创 蓝桥真题练习——时间显示

小蓝要和朋友合作开发一个时间显示的网站。在服务器上,朋友已经获取了当前的时间,用一个整数表示,值为从1970 年1 月 1 日 00:00:00 到当前时刻经过的毫秒数。  现在,小蓝要在客户端显示出这个时间。小蓝不用显示出年月日,只需显示出时分秒即可,毫秒也不用显示,直接舍去即可。  给定一个用整数表示的时间,请将这个时间对应的时分秒输出。import java.util.Scanner;public class Test { public static void main(Strin

2022-02-10 20:12:13 599

原创 蓝桥真题练习——路径

小蓝学习了最短路径之后特别高兴,他定义了一个特别的图,希望找到图中的最短路径。  小蓝的图由 2021 个结点组成,依次编号 1 至 2021。对于两个不同的结点 a,b,如果 a 和 b 的差的绝对值大于 21,则两个结点之间没有边相连;如果a 和 b 的差的绝对值小于等于21,则两个点之间有一条长度为 a 和 b 的最小公倍数的无向边相连。  例如:结点1 和结点 23 之间没有边相连;结点 3 和结点 24 之间有一条无向边,长度为 24;结点15 和结点 25 之间有一条无向边,长度为

2022-01-27 19:40:41 859

原创 蓝桥真题练习——相乘

真题相乘小蓝发现,他将1 至 1000000007 之间的不同的数与2021 相乘后再求除以1000000007 的余数,会得到不同的数。  小蓝想知道,能不能在 1 1 1 至 1000000007 1000000007 1000000007 之间找到一个数,与 2021 2021 2021 相乘后再除以 1000000007 1000000007 1000000007 后的余数为 999999999 999999999 999999999。如果存在,请在答案中提交这个数;  如果不存在,请在答案

2022-01-24 16:11:20 559

原创 蓝桥真题练习——卡片

小蓝有很多数字卡片,每张卡片上都是数字 0 到 9。小蓝准备用这些卡片来拼一些数,他想从 1 开始拼出正整数,每拼一个,就保存起来,卡片就不能用来拼其它数了。小蓝想知道自己能从 1 拼到多少。例如,当小蓝有 30 张卡片,其中 0 到 9 各 3 张,则小蓝可以拼出 1 到 10,但是拼 11 时卡片 1 已经只有一张了,不够拼出 11。现在小蓝手里有 0 到 9 的卡片各 2021 张,共 20210 张,请问小蓝可以从 1拼到多少?朴素解法循环判断遍历public class Test {

2022-01-19 22:42:18 731

原创 蓝桥真题练习——空间

小蓝准备用256MB 的内存空间开一个数组,数组的每个元素都是32 位二进制整数,如果不考虑程序占用的空间和维护内存需要的辅助空间,请问256MB 的空间可以存储多少个 32 位二进制整数?1 Byte=8 bits,也就是一个 32位整形占用 4 Byte。1 M B = 2的10次方 K B = 2 的20次方B,将256 除4 再乘以2的20次方就行了。public class Test { public static void main(String[] args) { ne

2022-01-19 20:42:18 664

原创 蓝桥真题练习——ASC

已知大写字母 A 的 ASCII 码为 65,请问大写字母 L 的 ASCII 码是多少?强转字符串,字符串强转按照ASCII 码public class Test { public static void main(String[] args) { new Test().case(); } void case() { System.out.println((int)'L'); }}...

2022-01-19 19:33:07 425

原创 算法练习——前缀树

前缀树Trie又被称为前缀树、字典树,所以当然是一棵树。上面这棵Trie树包含的字符串集合是{in, inn, int, tea, ten, to}。每个节点的编号是我们为了描述方便加上去的。树中的每一条边上都标识有一个字符。这些字符可以是任意一个字符集中的字符。比如对于都是小写字母的字符串,字符集就是’a’-‘z’;对于都是数字的字符串,字符集就是’0’-‘9’;对于二进制字符串,字符集就是0和1。Trie树是简单但实用的数据结构,通常用于实现字典查询力扣208实现 Trie (前缀树)对于当前字

2022-01-12 19:25:36 166

原创 算法练习——动态规划

动态规划动态规划对于每一个子子问题只求解一次,将其解保存在一个表格里面,从而无需每次求解一个子子问题时都重新计算,避免了不必要的计算工作。解决动态规划问题一般分为四步:1、定义一个状态,这是一个最优解的结构特征2、进行状态递推,得到递推公式3、进行初始化4、返回结果力扣509斐波那契数F(n)=F(n−1)+F(n−2)根据状态转移方程和边界条件class Solution { public int fib(int n) { if (n < 2) {

2022-01-05 21:14:33 333

原创 算法练习——记忆化算法

记忆化搜索递归的过程中有许多的结果是被反复计算的,这样会大大降低算法的执行效率。将已经计算出来的结果保存起来,计算用到的时候直接取出结果,避免重复运算,因此极大的提高了算法的效率。力扣509斐波那契数F(n)=F(n−1)+F(n−2)class Solution { public int fib(int n) { if (n == 0) return 0; if (n == 1) return 1; int[] memory = n

2021-12-30 00:08:28 458

原创 算法练习——贪心算法

贪心算法贪心算法(又称贪婪算法)是指在对问题求解时,总是做出在当前看来是最好的选择。不从整体最优上加以考虑,仅是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解但对范围相当广泛的许多问题他能产生整体最优解或者是整体最优解的近似解。在贪心算法中,我们总是做出当时看来最佳的选择,然后再求解剩下唯一的子问题。贪心算法做出选择时可能会依赖于之前的选择或者子问题的解,但是绝对不依赖于将来的选择或者子问题的解。力扣322零钱兑换想要总硬币数最少,肯定是优先用大面值硬币,所以对 coin

2021-12-30 00:07:32 2049

原创 算法练习——并查集

并查集并查集是一种树型的数据结构,用于处理一些不相交集合(disjoint sets)的合并及查询问题。并查集通常包含两种操作查找(Find):查询两个元素是否在同一个集合中合并(Union):把两个不相交的集合合并为一个集合用集合中的某个元素来代表这个集合,该元素称为集合的代表元。一个集合内的所有元素组织成以代表元为根的树形结构。对于每一个元素 parent[x]指向x在树形结构上的父亲节点。如果x是根节点,则令parent[x] = x。对于查找操作,假设需要确定x所在的的

2021-12-22 23:20:24 918

原创 算法练习——宽度优先搜索算法 BFS

宽度优先搜索算法 BFS主要应用:二叉树搜索或者图搜索主要思想:层层递进,一层一层遍历和DFS(深度优先)差别:DFS侧重“分支”BFS侧重“层”基本实现思想:(1)顶点v入队列。(2)当队列非空时则继续执行,否则算法结束。(3)出队列取得队头顶点v;(4)查找顶点v的所以子节点,并依次进入队列;(5)转到步骤(2)。力扣 102. 二叉树的层序遍历用一个二元组 来表示状态它表示某个节点(node)和它所在的层数(level)每个新进队列的节点的层数都是父亲节点的层数加一最后

2021-12-15 22:18:20 998

原创 算法学习——深度优先算法

深度优先算法 DFS对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次。力扣 938二叉搜索树的范围和1.root节点为空——返回02.root节点的值大于high右子树所有节点值大于跟节点,——返回左子树的范围和3.root节点的值小于low左子树小于low,——返回右子树的范围和4.root节点的值再指针[low,high]范围内——返回root节点值、左子树的范围和、右子树的范围和class Solution { public int rangeSumBS

2021-12-08 22:33:10 345

原创 算法练习——回溯算法(二)

力扣77 组合递归获取利用一个 stack 存储中间结果,不断进行出栈入栈,这样肯定就能拿全。import java.util.ArrayDeque;import java.util.ArrayList;import java.util.Deque;import java.util.List;public class Solution { public List<List<Integer>> combine(int n, int k) { L

2021-12-01 21:25:23 94

原创 算法练习——回溯法

回溯法类似于枚举,向下递归尝试找到答案找到答案尝试别的可能或返回答案找不到答案返回上一层递归,常识其他路径力扣 22 括号生成(回溯法)左括号必须以正确的顺序闭合left>=right我们可以通过跟踪到目前为止放置的左括号和右括号的数目,只在序列仍然保持有效时才添加如果左括号数量不大于 n,放一个左括号,右括号数量小于左括号的数量,放一个右括号。class Solution { public List<String> generateParenthesis(int

2021-11-24 11:38:00 161

原创 算法练习——分治算法

分治法将大问题分割成一个个小问题分解:将原问题分解为若干个规模较小,相互独立,与原问题形式相同的子问题解决:若子问题规模较小而容易被解决则直接解,否则递归地解各个子问题合并:将各个子问题的解合并为原问题的解分治策略:对于一个规模为n的问题,若该问题可以容易的解决(比如规模n较小)则直接解决,否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地解决这些子问题,然后将各个子问题的解合并得到原问题的解。力扣 169 多数元素(分治法)在数组中出现次数大于数组长度的一

2021-11-24 00:27:12 364

原创 算法练习——递归

递归时间复杂度O(N);空间复杂度O(N);在方法里调用方法四个要素1.接受的参数2.返回的值3.终止的条件4.递归的拆解:如何递归下一层(循环的改变量)力扣 509 斐波那契数列f(n) = f(n-1) + f(n-2) 当n>=2;0,1,1,2,3,5,8…fuction(int n){ if(n<2){ return n==1?1:0; } int sum = fuction(n-1)+fuction(n-2) return sum;}力扣 2

2021-11-23 23:09:17 191

原创 算法学习——滑动窗口

滑动窗口目的:减少while循环标志:数组中定长问题(以k为长度,求最大(小)的和)、求连续的数理解:每次这组数移动只需要加上新的数并减去末尾的数例子:1 3 5 7 8 5 4 3 5 7 int[] arr = {1,3,5,7,8,5,4,3,5,7}长度k == 3;求没三个相邻数相加最大和;第一次:sum == 1+3+5;arr[0]+arr[1]+arr[2];第二次:sum + 7 -1; arr[0]+arr[1]+arr[2]+arr[3]-arr[0];第三次:s

2021-11-17 11:00:00 120

原创 算法学习——二分法查找(2)

162 寻找峰值对于所有有效的 i 都有 nums[i] != nums[i + 1],又nums[-1] = nums[n] = -∞ 且1 <= nums.length <= 1000,即数组中必有一个元素,有多个元素时则互不相等,即使数组中只有一个元素,这个元素的左右两边都是-∞,那么这唯一的元素就是峰值。要求在一个数组里找出一个峰值元素并返回其下标,可以采用二分查找,首先找到中间节点mid,如果大于两边就返回当前下标index,如果左边的结点比mid大,那么继续在左半区间查找,这里面

2021-11-16 22:43:58 240

原创 算法学习——二分法查找(1)

二分法查找时间复杂度低,查找次数少应用在有序的一组数生活场景猜数字1~100;告诉你猜大了,猜小了;每次对半猜,猜中的次数就最少;假设目标数字是29;第一次猜50,得到返回值,猜大了;那么这个数就在1~50之间;第二次猜25,得到返回值,猜小了;这个数在25~50之间;第三次猜37,得到返回值,猜大了;这个数就在25~37之间;第四次猜29,就会得到这个数例1 力扣704 public int search(int[] nums, int target) {

2021-11-12 13:31:00 153

原创 算法学习——双指针算法

双指针算法三种类型1.普通双指针​ 两个指针同时往一个方向移动2.对撞双指针​ 两个指针面对面移动(有序)​ 两个数相加,结果小于目标数移动前面一个指针,结果大于目标数移动后一个指针3.快慢双指针​ 慢指针 + 快指针(环形链表)​ 快指针移动两步,慢指针移动一步,相遇的时候即环形141快慢指针同时=head当快指针不为空并且快指针的下一个不为空即链表有结尾代表不为环形快指针与慢指针相遇时即为环形public class Solution { pub

2021-11-08 19:42:30 429

空空如也

空空如也

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

TA关注的人

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