自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 问答 (1)
  • 收藏
  • 关注

原创 封装tooltips组件,实现多行文本溢出显示省略号、且文本溢出的支持hover悬浮提示

【组件开发】支持多行文本溢出显示省略号、超出的hover显示。

2023-07-04 17:02:01 325 1

原创 uniapp封装svg-icon插件

uniapp封装svgIcon组件,支持原始.svg文件按需引用

2022-08-14 17:53:10 2224 3

原创 图片上传及预览

<input type="file" name="myfile"><img src="" alt="" id="img">方式一:使用window.createObjectURLlet input =document.getElementsByName('myfile')[0]// 获取input的file对象let img=document.getElementById('img')input.addEventListener('change',()=>{

2022-03-12 15:09:12 291

原创 手写一个订阅发布模式

摘要:发布订阅者模式,一种对象间一对多的依赖关系,但一个对象的状态发生改变时,所依赖的它的对象都将得到状态改变的通知主要的作用1、广泛应用于异步编程中(替代了传递回调函数)2、对象之间松散耦合的编写代码缺点1、创建订阅者本身要消耗一定的时间和内存2、多个发布者和订阅者嵌套在一起是时候,程序难以跟踪维护实现的思路1、创建一个事件中心(缓存列表)2、on方法用来把回调函数fn都加到事件中心中3、emit方法取到arguments里第一个当做event,根据event值去执行对应事件中心中的函

2022-03-08 13:39:08 220

原创 Vue的双向绑定原理

MVVM模型M:模型(Model):对应data中的数据V:视图(View):模板VM:视图模型(ViewModel):Vue实例对象分解任务 <div id="app"> <input type="text" v-model="text"> {{text}} </div>拟实现:1、输入框以及文本节点与data中的数据绑定2、输入框内容变化时,data中的数据同步变化。即view => model的变化。3、data中的

2022-03-08 01:30:28 646

原创 实现继承的几种方式

1、直接继承本质:重写原型对象function Game(){ this.name='LOL'}Game.prototype.getName=function(){ return this.name}function LOL(){}LOL.prototype=new Game()LOL.prototype.constructor=LOLconst game=new LOL()game.name //'LOL'game.getName() //'LOL'1.在原型对象所

2022-03-07 01:23:58 578

原创 浏览器的运行和工作原理

浏览器是多线程的,js是单线程的。js在浏览器中可以是多线程的。浏览器的的三个常驻的线程JavaScript引擎线程,是基于事件驱动单线程执行的。GUI渲染线程,和JavaScript引擎是互斥的。当JS引擎执行时GUI线程会被挂起,GUI的更新也会被保存在一个队列中,等到JS引擎空闲时才有机会被执行,这就是JS阻塞页面加载。页面事件触发线程,当一个事件被触发时,该线程会把事件添加到任务队列的队尾,等待JS引擎的处理。浏览器的组成用户界面 - 包括地址栏、 前进/后退按钮、 书签菜单等

2022-03-06 01:34:48 1661

原创 ES6-ES11学习笔记

ES6-ES11学习笔记一、概述1 、什么是 ECMAECMA(European Computer Manufacturers Association)中文名称为欧洲计算机制造商协会,这个组织的目标是评估、开发和认可电信和计算机标准。 1994 年后该组织改名为 Ecma 国际;2 、什么是 ECMAScriptECMAScript 是由 Ecma 国际通过 ECMA-262 标准化的脚本程序设计语言;百度百科:https://baike.baidu.com/history/ECMAScrip

2021-08-18 17:11:33 552

原创 echart中定义legend的宽度实现排列对齐

Echart中定义legend的宽度实现排列对齐实现方式:富文本legend: { bottom:'bottom', formatter: function (name) { return '{a|' + name + '}' }, textStyle: { // 文字块背景色,一定要加上,否则对齐不会生效 backgroundColor: "transparent",

2021-08-15 22:00:38 3753 2

原创 leetcode-228、 汇总区间(c++)

leetcode-228、 汇总区间(c++)难度:简单给定一个无重复元素的有序整数数组 nums 。返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于 nums 的数字 x 。列表中的每个区间范围 [a,b] 应该按如下格式输出:“a->b” ,如果 a != b“a” ,如果 a == b示例 1:输入:nums = [0,1,2,4,5,7]输出:[“0->2”,“4-&gt

2020-11-29 12:26:15 170

原创 # leetcode-1438、 绝对差不超过限制的最长连续子数组(c++)

leetcode-1438. 绝对差不超过限制的最长连续子数组(c++)思路:1、我们使用两个指针表示子数组的左右边界。其中左指针代表着子数组的起始位置,而右指针即为末尾位置2、判断右边界新加入元素后子数组是否符合条件(任意两个元素相差绝对值不超过limit),若不符合,滑动左指针4、判断条件可以利用map有序的特点来实现​class Solution {public: int longestSubarray(vector<int>& nums, int limi

2020-11-28 16:48:33 445

原创 leetcode1588、所有奇数长度子数组的和(c++)

leetcode158、所有奇数长度子数组的和难度:简单给你一个正整数数组 arr ,请你计算所有可能的奇数长度子数组的和。子数组 定义为原数组中的一个连续子序列。请你返回 arr 中 所有奇数长度子数组的和 。示例1输入:arr = [1,4,2,5,3]输出:58解释:所有奇数长度子数组和它们的和为:[1] = 1[4] = 4[2] = 2[5] = 5[3] = 3[1,4,2] = 7[4,2,5] = 11[2,5,3] = 10[1,4,2,5,3] = 1

2020-11-25 15:54:47 957 1

原创 leetcode1535-找出数组游戏的赢家

leetcode1535-找出数组游戏的赢家难度:中等给你一个由 不同 整数组成的整数数组 arr 和一个整数 k 。每回合游戏都在数组的前两个元素(即 arr[0] 和 arr[1] )之间进行。比较 arr[0] 与 arr[1] 的大小,较大的整数将会取得这一回合的胜利并保留在位置 0 ,较小的整数移至数组的末尾。当一个整数赢得 k 个连续回合时,游戏结束,该整数就是比赛的 赢家 。返回赢得比赛的整数。题目数据 保证 游戏存在赢家。示例1输入:arr = [2,1,3,5,4,6,7]

2020-11-25 11:55:13 228

原创 leetcode-88、合并两个有序数组(c++)

leetcode-88、合并两个有序数组难度:简单给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例输入:nums1 = [1,2,3,0,0,0], m = 3nums2 = [2,5,6], n = 3输出:[1,2,

2020-11-20 09:11:53 184 2

原创 leetcode-867、转置矩阵(c++)

leetcode-867、转置矩阵(c++)难度:简单给定一个矩阵 A, 返回 A 的转置矩阵。矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。示例1输入:[[1,2,3],[4,5,6],[7,8,9]]输出:[[1,4,7],[2,5,8],[3,6,9]]示例2输入:[[1,2,3],[4,5,6]]输出:[[1,4],[2,5],[3,6]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/transpo

2020-11-19 16:27:08 138

原创 leetcode-4、寻找两个正序数组的中位数(c++)

leetcode-4、寻找两个正序数组的中位数(c++)给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的中位数。进阶:你能设计一个时间复杂度为 O(log (m+n)) 的算法解决此问题吗?示例1输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2示例2输入:nums1 = [1,2], nums2 = [3,4]输出:2.50000解释:合并数组

2020-11-18 13:17:07 436

原创 leetcode-3、无重复字符的最长子串(c++)

leetcode-3、无重复字符的最长子串(c++)给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例1输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例2输入: “bbbbb”输出: 1解释: 因为无重复字符的最

2020-11-18 11:27:14 282 2

原创 leetcode-2、两数相加(c++)

leetcode-2、两数相加(c++)给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807来源:力扣(LeetCod

2020-11-17 18:23:55 419

原创 leetcode-1、两数之和(c++)

leetcode-1、两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。示例给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]方法一:暴力法class Solution {public: vector<int> twoSum(vector<int>& nums,

2020-11-13 19:59:48 283

空空如也

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

TA关注的人

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