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

原创 Vue:过渡与动画

transition组件在CSS3中,过渡属性transition可以在一定时间内实现将元素的状态过渡为最终状态,但功能十分简单;动画属性animation可以制作更为复杂的动画。 Vue也实现了过渡和动画,Vue的过渡系统可以在元素从Dom中插入或移除时自动应用过渡效果。Vue.js会在适当的时机触发CSS过渡或动画。 Vue提供了内置的过渡封装组件transition,该组件用于包裹要实现过渡效果的组件。其基本用法是在动画的标签外面嵌套transition标签,并加上属性:<transitio

2021-04-23 10:54:43 197 1

原创 Vue:自定义指令

Vue:自定义指令自定义指令概述自定义指令使用来操作Dom的,且可复用。其分为全局指令和局部指令。全局指令定义语法如下:Vue.directive("指令id",{ //当指令第一次绑定到元素上时调用,只调用一次,可以用来执行初始化操作 //即:指令绑定到元素 bind: function(){ alert("bind"); }, //被绑定有自定义指令的元素被插入到Dom中时调用

2021-04-21 14:18:23 132

原创 Vue: 关于组件

Vue: 关于组件组件的基本使用组件嵌套2.1 组件嵌套Vue的两大核心思想是组件化和数据驱动。组件本身也可以包含组件,如下,parent组件包含了一个child组件,但其是注册于parent中的(而非全局),只能被parent使用。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible"

2021-04-20 16:17:35 163

原创 Leetcode每日一题打卡

315.计算右侧小于当前元素的个数原题离散化树状数组:要计算一个区间中小于某个元素的个数和,可以先看每个元素的个数。比如,对于示例数组[5,2,6,1],就有如下散列表:nums: 0 1 2 3 4 5 6 7 8 9count: 0 1 1 0 0 1 1 0 0 0要计算某个元素右侧小于它的总和,使用树状数组来存储每个元素的情况,从右到左遍历原数组,先计算出当前元素右侧小于它的元素个数,写入结果数组,再讲当前元素插入树状数组,完成遍历后,再反转结果数组,就得到了目标结果。但是,由于数组中可

2020-07-11 10:18:16 143

原创 那些年意外看到的方法

树状数组学习来源1学习来源2关于树状数组,顾名思义,就是数形状的数组,主要用于查询任意两位之间的所有元素之和,但是每次只能修改一个元素的值。概述图如下(以数组C代指树状数组,以数组A代指原数组)可看出:C1=A1C2=A1+A2C3=A3C4=A1+A2+A3+A4C5=A5C6=A5+A6C7=A7C8=A1+A2+A3+A4+A5+A6+A7+A8……一般规律:Cn=(An-2k+1)+…+An,其中,k取使得2k不大于An的最大值。快速获取2k的方法如下:lowBi

2020-07-11 09:59:53 120

原创 Leetcode每日一题打卡

309.最佳买卖股票时机含冷冻期原题动态规划解题:每天持股状态有三种:有股票、无股票且在冷冻期、无股票且不在冷冻期。这三种状态,都和前一天的三种状态有关。有股票情况:可能是前一天持有股票的情况或者是前一天买入的股票;无股票且在冷冻期:前一天卖出股票;无股票且不再冷冻期:前一天就是无股票且不在冷冻期或前一天是无股票但在冷冻期。代码如下:class Solution {public: int maxProfit(vector<int>& prices) { i

2020-07-10 10:01:32 230

原创 Leetcode每日一题打卡

面试题17.13.回复空格原题要找到最少的未确定的字符数,使用动态规划的方法,用数组dp[i]来确定截止位置i的未确定字符数。遍历无空格语句sentence,对于第i个位置,未确定字符数为dp[i]=dp[i-1]+1,然后再判断,是否存在j,使得区间(i,j)中的字符串存在于字符串表(即字典)中,如果存在,那么dp[i]=min(dp[i],dp[j-1]),最后返回dp[sentence.size()]。那么,现在的问题是,如何确定一个字符串是否在字典中呢?这里采用Rabin-Karp字符串编码的

2020-07-09 10:29:35 218

原创 那些年意外看到的方法

Rabin-Karp字符串编码学习来源、参考讲解这是一种将字符串转化为唯一对应数值的方法,举个栗子,对于字符串abc来说,该字符串中有三种字符,那么base(基数,作为进制)就选大于3的数(一般选质数),这里选base=5,那么字符串对应的十进制数就应该有(012)5=7,这样得到的数就是唯一的。但是,当字符串太长时,可能会溢出,就需要取余。但是,一旦进行取余操作,就可能出现两个或多个数取余得到同样值的情况。这时,需要尽可能地取大的MOD(如10e7+7),并设置多个模数,就可以将碰撞概率降得很低。此

2020-07-09 10:12:57 90

原创 Leetcode每日一题打卡

面试题16.11.跳水板原题已知共有k块板,每块板板长可能是shorter或者longer,要求得到从小到大的顺序,也就是说板的组合中longer长度板的长度从0增加到k,那么shorter板的长度就是从k减少到0class Solution {public: vector<int> divingBoard(int shorter, int longer, int k) { if(k==0) return vector<int>{};

2020-07-08 10:00:02 108

原创 Leetcode每日一题打卡

112.路经总和原题方法一:广度优先搜索,记录每一个结点的根节点到该节点的值,一层一层计算,利用两个栈,分别记录当前访问结点以及当前的和。/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {

2020-07-07 09:29:14 105

原创 Leetcode每日一题打卡

63.不同路径Ⅱ原题根据题意不难看出,这是一道动态规划的题目,利用函数f(i,j)可以记录从原点(0,0)到点(i,j)的路径总数,已知机器人只能向左和向下移动,若点(i,j)有障碍(即obstacleGrid[i][j]=1),则f(i,j)=0,否则,则f(i,j)=f(i-1,j)+f(i,j-1)。由于第(i,j)位置的路径只和第(i-1,j)以及第(i,j-1)位置有关,可用滚动数组优化内存空间。class Solution {public: int uniquePathsWith

2020-07-06 10:22:33 136

原创 Leetcode每日一题打卡

108.将有序数组转换为平衡二叉树原题采用中序遍历,中间位置的数值作为根节点,左边(left)即是左子树,右边(right)是右子树,递归计算出搜索二叉树,在left>right时返回空指针。/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val

2020-07-03 09:10:56 107

原创 Leetcode每日一题打卡

378.有序矩阵中第k小的元素原题不懂就问系列,求解答:为什么这其中得到的left可以保证还是矩阵中的元素?原题参照官答的理解如下:利用矩阵同一行右边元素一定小于左边元素以及同一列下方元素一定小于上方元素的特性,可以确定,在矩阵内任意子块里,右下角元素大于这个子块里的每一个元素。这样给定一个值mid,可以在矩阵中查找小于等于mid值的元素的总数——通过函数isLeft()实现。在函数kthSmallest()中,使用二分查找,找到符合条件的值。代码如下:class Solution {publi

2020-07-02 16:22:28 387

原创 Leetcode每日一题打卡

718. 最长重复子数组原题首先想到的就是暴力法:对数组A的遍历作为外循环,对数组B的遍历作为内循环,其中再嵌套while语句查找重复子数组,这样一来,时间复杂度为O(n^3),然后进行优化。动态规划方法,在表m*n(其中m=A.size(),n=B.size())中,dp[i][j]取决于A[i]是否等于B[j],若等于,则dp[i][j]=dp[i-1][j-1]+1,否则就等于0。class Solution {public: int findLength(vector<int

2020-07-01 08:51:19 202

原创 Leetcode每日一题打卡

剑指Offer09.用两个栈实现队列原题根据栈先进后出和队列先进先出的不同特点予以以下实现,使用栈s1记录队列尾部元素,每次插入操作可以直接压入栈s1中;在删除元素时,为了删除头部元素,使用栈s2维护头部元素。当s2不为空时,直接弹出栈顶元素即可。当s2为空时,就将s1中元素一次弹出而后压入s2中,实现顺序的反转,s2栈顶元素就是队列的头部元素。当栈为空时,返回-1。class CQueue { stack<int> s1;//记录队列元素(栈顶为尾部) stack<

2020-06-30 07:59:47 130

原创 Leetcode每日一题打卡

215.数组中的第K个最大值

2020-06-29 08:36:57 218

原创 Leetcode每日一题打卡

209.长度最小的子数组原题双指针用start和end两个指针指向子数组的开始和结束位置,当子数组的和小于目标和s时右移右指针end,直至子数组和大于等于s,此时,更新最短子数组长度,右移左指针,缩短数组长度,直至end走到数组末尾为止。class Solution {public: int minSubArrayLen(int s, vector<int>& nums) { int start=0, end=0, ans=INT_MAX;//初始化,开

2020-06-28 09:25:42 151

空空如也

空空如也

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

TA关注的人

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