需要深入理解的一些算法
算法KMP算法
数位DP解题思路
参考链接https://oi-wiki.org/dp/number/
https://blog.csdn.net/JKdd123456/article/details/81383012
demo
题目大意:多组数据,每次给定区间 [n,m] ,求在n到m中没有 “62“ (连续)或 “4“ 的数的个数。如62315包含62,88914包含4,这两个数都是不合法的。0 < n<=m < 1000000
试想:我们如果能有一个函数count(int x),可以返回[0,x]之间符合题意的数的个数。
那么是不是直接输出count(m)-count(n-1)就是答案?
设一个数组dp[i][j]表示i位数,最高位是j 的符合题意的个数
高等讲堂小技巧
code12345678setInterval(function() { var video = document.getElementById('example_media_1_html5_api'); if (video.paused) { video.play(); } console.log('自动续播')}, 60000); // 60000毫秒即1分钟
如何让ID为example_media_1_html5_api的视频跳转到1小时57分的时间
123var video = document.getElementById('example_media_1_html5_api');video.currentTime = 7020; // 设置视频的当前时间为7020秒video.play(); // 开始播放
无题
本科五年酬金
Mac的常用操作
环境变量配置打开文件进行编辑
1open -e .zshrc
配置变量,然后Command + S 保存退出
输入:
1source .zshrc
React native开发
配置android环境
12345export ANDROID_HOME=$HOME/Library/Android/sdkexport PATH=$PATH:$ANDROID_HOME/emulatorexport PATH=$PATH:$ANDROID_HOME/toolsexport PATH=$PATH:$ANDROID_HOME/tools/binexport PATH=$PATH:$ANDROID_HOME/platform-tools
ElementUI2 开发
需要python2环境
https://www.wyr.me/post/658
12345brew install pyenvpyenv install 2.7.18export PATH="$(pyenv root)/shims:${PATH}"pyenv global 2.7.18python --version
需要注意node-sass版本的对应关系
如,默认的node-sass是4.11.0,而这个版本对node有要求:
OS
Architecture
Node
Windows
x86 & x64
0.10, 0.12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
OSX
x64
0.10, 0.12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
Linux*
x86 & x64
0.10, 0.12, 1, 2, 3, 4, 5, 6, 7, 8**, 9**, 10^, 11
Alpine Linux
x64
6, 8, ...
Ubuntu系统中的常用操作
jenkins的配置安装jenkins:
https://blog.csdn.net/wf908164152/article/details/125716221
1sudo apt-get install maven
设置权限:
1vim /etc/default/jenkins
12# 把jenkins目录文件交给ubuntu用户chown -R ubuntu:ubuntu /var/lib/jenkins
安装gitee、maven、nodejs插件
12curl -sL https://deb.nodesource.com/setup_14.x | sudo bash -sudo apt -y install nodejs
设置jenkins令牌(https://blog.csdn.net/weixin_44931933/article/details/127704724)
新建项目:web hooks配置
配置maven
screen的使用参考文章:https://blog.csdn.net/qq_34131701/article/details/124353270
防火 ...
JS——原型链
前言在学习JS中的原型,原型链,继承这些知识之前,我们先学习下基础知识:函数和对象的关系。
我们一直都知道,函数也是对象的一种,因为通过instanceof就可以判断出来。但是函数和对象的关系并不是简单的包含和被包含的关系,这两者之间的关系还是有点复杂的。接下来我们就来捋一捋。
首先,阐述一点,对象都是通过函数创建的。对于下面这种类型的代码,一般叫做“语法糖”:
12var obj = {a:10,b:20};var arr = [5, 'x', true];
但是,其实上面这段代码的实质是下面这样的:
12345678var obj = new Object();obj.a = 10;obj.b = 20;var arr = new Array();arr[0] = 5;arr[1] = 'x';arr[2] = true;
而Object和Array都是函数,可以自己用typeof函数进行验证。
所以,可以得出:对象都是通过函数创建的。
那么下面就进入正题。
原型prototype在前言中,我们说了函数也是一种对象,所以函 ...
单调栈的应用
84 柱状图中最大的矩形
题目链接:https://leetcode-cn.com/problems/largest-rectangle-in-histogram/
给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。
求在该柱状图中,能够勾勒出来的矩形的最大面积。
思考我们可以反过来考虑针对于每一个元素,都可以求出以它为高的最大矩形面积。
那么这样一个矩形,它的底应该是多少呢?
自然而然,我们可以发现:这一个矩形的左侧就是左边比它小的元素的位置,右侧自然也是比它小的元素的位置。
以下图的元素5为例,它的最左侧就应该是比它小的元素1的右边,它的最右侧就应该是比它小的元素2的左边。
因此,问题就转化成了:针对于每一个元素,我们都需要求出左边比它小的元素的位置以及右边比它小的元素的位置。
单调栈那么在从左往右遍历一遍的过程中,如何找出比它小的元素呢?
我们自然而然的想到了单调递增栈(严格单调递增):每当一个元素到达时候,不断出栈直到栈为空或者栈顶元素小于该元素,那么这个元素就一定是比它小的最近的元素。
代码12345678910111213141 ...