自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(98)
  • 收藏
  • 关注

原创 正则表达式

正则表达式概述正则表达式,即处理字符串的方法,它以行为单位来进行字符串的处理操作,正则表达式通过一些特殊符号的辅助,可以让用户轻易的完成【查找、删除、替换】某特定字符串的处理过程。正则表达式基本上是一种表示法,只要程序支持这种表示法,那么该程序就可以用来作为正则表达式的字符串处理之用。注意:正则表达式和通配符并不一样,因为【通配符代表的是 bash 操作接口的一个功能】,但正则表达式则是一种字符串处理的表示方式。基础正则表达式语系对正则表达式会产生的影响文件其实记录的仅有 0 和 1,我们

2021-09-15 15:10:17 731

原创 Python3 字符串

Python3 字符串可以使用单引号 ‘ 或双引号 “ 来创建字符串Python 不支持单字符类型,单字符在 Python 中农也是作为一个字符串使用Python 不访问子字符串,可以使用方括号 [] 来截取字符串,截取格式如下:变量[头下标:尾下标],索引值以 0 为开始值,-1 为从末尾开始的位置Python 转义字符字符含义\ 在行尾时续行符\反斜杠符号\‘单引号\“双引号\a响铃,执行后电脑有响声\b退格(Backspac

2021-09-10 09:25:49 215

原创 管道命令( pipe )

管道命令bash 命令执行的时候,有输出的数据会出现,如果这些数据需要经过几道处理后才能得到我们所想要的格式,那么这个时候管道命令就很有用。管道命令仅能处理由前面一个命令传来的正确信息,也就是标准输出信息,对于标准错误输出没有直接处理能力。在每一个管道后边跟的必定是【命令】,且该命令必须要能够接受标准输入的命令才可以,这样的命令才是管道命令。选取命令:cut、grep选取命令就是将一段数据经过分析后,取出我们所需要的。cut:处理的信息以行为单位指令格式:【cut -d’分隔字符‘

2021-08-11 14:00:49 1295

原创 学习BASH

管理整个计算机硬件的其实是操作系统的内核,这个内核是需要保护的,所以一般用户只能通过 Shell 与内核进行沟通。操作系统其实是一组软件,这组软件在控制整个硬件与管理系统的监测。如果这组软件能被用户随意操作,若用户操作不当,将会使得整个系统奔溃。Linux 默认的 shell 是 bashBash shell 的功能历史命令:在命令行按【上下键】就可以找到前后一个输入的命令。默认记录命令条目可达1000个,这些命令记录在家目录的 .bash_history 里,需要注意的是,记录的是前一次登录.

2021-08-10 09:09:49 426

原创 Linux磁盘与文件系统管理

文件系统特性:因为每种操作系统所设置的文件属性/权限不同,所以在将磁盘分区完毕后,还需要进行格式化,以成为操作系统能够利用的文件系统格式后,操作系统才能使用这个文件系统。Linux 文件系统为 ext2;默认情况下,Windows 不支持 Linux 的 ext2 文件系统。超级区块:记录此文件系统的整体信息,包括inode与数据区块的总量、使用量、剩余量,以及文件系统的格式和其他相关信息inode:记录文件的属性,一个文件占用一个inode,同时记录此文件数据所在的区块号码数据区块,实际记录文

2021-08-03 09:53:46 247

原创 剑指简单题——两个栈实现队列

题目描述:用两个栈实现一个队列,队列的声明:请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )解题思路:栈的数据结构是“先进后出”,我把它想象成一个一端被封闭了的管道,元素的进出都只能在开口的一端;队列的数据结构是“先进先出”,这种结构生活中很常见,就是我们平时排队买东西,一端只能出元素,而另一端只能进元素;题目其实已经说的很清楚是用两个栈实现队列,首先是入队

2021-07-29 11:05:32 63

原创 目录的相关操作

特殊的目录.(一个点) 代表当前目录…(两个点)代表上一层目录- 代表前一个工作目录~目前使用者身份所在的家目录,如:~account,代表account这个使用者所在的家目录根目录的上一层目录(…)与当前目录(.)是同一个目录常见处理目录的命令cd:切换目录pwd [-P]:显示当前目录,-P可选参数,表示显示真正的路径,而非链接路径mkdir [-mp] 目录名称:创建一个新目录,-m:设置目录的权限,不用默认的权限;-p:将所需要的目录(包含上一层目录)直接创建,且如果该目录已

2021-07-28 09:23:32 566

原创 2021-07-26 Linux的文件权限

用户与用户组用户Linux是一个多人任务系统,也就意味着会有很多用户同时使用一个系统。那么用户与用户之间就肯定要做一个区分,否则所有用户的文件、数据都混在一起是一件很不好的事。用户组用户组的一大作用,就是使得Linux中的用户可以协同合作。当有一个需要团队合作完成的项目时,用户组就变得非常重要,仅有该用户组的用户,才能对该项目文件进行读、写、执行的各种操作。文件属性当你在命令行界面输入:ls -al 指令后,可以看到文件的详细权限与属性,包括隐藏文件。如下图所示属性的具体含义如下

2021-07-26 14:02:22 303

原创 防抖和节流函数

防抖(debounce):通俗点来说就是:通过settimeout的方式,在一定时间内将多次触发变成一次触发也可以说是设置一个周期;在触发高频事件周期内函数只会执行一次,如果周期内再次触发则会重新计算周期实现代码:在html中准备了一个div盒子,给其添加了一个鼠标移动事件,当鼠标移动就会触发事件,用一个count值来记录触发的次数,并把count值显示在div盒子中<!DOCTYPE html><html lang="en"><head> &

2021-04-16 21:29:11 314

原创 关于全局var和函数里的var

另一道题:var a = 3;function test() { var b = a || 5; var a = 7; console.log(b);}test();问输出是什么,我依旧毫不意外的做错,想着var a = 3;是全局变量,那么函数里边也能拿到 a,所以b = a = 3; 但我根本忽略了函数里的一句:var a = 7; 以及var的变量提升!!!所以其实上边的函数实际相当于:function test(){ var a, b; b = a ||

2021-04-15 09:34:00 579

原创 关于typeof

今天做到一道笔试题,题目如下:var foo = { a: () => { console.log('foo'); }}console.log(typeof foo.a());然后问输出结果是什么,毫不意外的我做错了;自己实际运行出来的结果是:然后我就开始分析了:第一句输出很好想,因为函数被调用了,所以函数会被执行,也就会打印foo;一开始我想的是 typeof 它判断的是一个函数啊,所以应该打印 function,但是根据第一句输出我想到说 typeo

2021-04-14 20:17:34 87

原创 别踩白块游戏

HTML骨架:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>别踩白块</title> <link rel="stylesheet" href="ind

2020-11-29 20:42:52 246

原创 外边距合并问题(外边距塌陷)

注意:外边距合并问题是发生在给两个块元素设置垂直外边距时(也就是margin-top和margin-bottom)第一种:两个块元素为兄弟关系当上下相邻的两个块元素,上边个块有margin-bottom,下边个块有margin-top的时候就会发生外边距合并合并原则:取margin-bottom和margin-top中较大的一个值作为它们之间的距离解决方案:尽量只给一个盒子添加margin值第二种:两个块元素为父子关系父元素没有上内边距(padding-top)和边框(border)时,

2020-11-23 16:01:45 431

原创 盒子水平垂直居中的几种方法

第一种:盒子宽高 + margin思路 :上外边距为自身高度一半,左外边距为自身宽度一半:.box { width: 800px; height: 400px; border: 1px solid black; } .son { width: 400px; height: 200px; margin-top

2020-11-23 15:32:01 5727

原创 学生信息案例----Node.js+MongoDB实现

连接数据库(./model/connectt):// 引入mongoose模块用于连接数据库const mongoose = require('mongoose');mongoose.connect('mongodb://localhost/test01', { useNewUrlParser: true, useUnifiedTopology: true }) .then(() => console.log('数据库连接成功')) .catch(err => con.

2020-11-17 11:08:29 434

原创 用户信息案例-----Node.js编写(MongoDB数据库)

准备工作:利用第三方模块 mongoose 连接数据库,代码如下:// 首先在命令行中使用 npm install mongoose 命令下载 mongoose 模块// 引入mongoose模块const mongoose = require('mongoose');// 连接数据库mongoose.connect('mongodb://localhost/test01', { useNewUrlParser: true, useUnifiedTopology: true })

2020-11-17 10:50:46 539

原创 <script>元素的8个属性

async:可选。表示应该立即开始下载脚本,但不能阻止其他页面动作,比如下载资源或等待其他脚本加载。只对外部脚本文件有效。charset:可选。使用 src 属性指定的代码字符集。这个属性很少使用,因为大多数浏览器不在乎它的值。crossorigin:可选。配置相关请求的CORS(跨源资源共享)设置。默认不使用CORS。crossorigin= "anonymous"配置文件请求不必设置凭据标志。crossorigin="use-credentials"设置凭据标志,意味着出站请求会包含凭据。def.

2020-11-16 15:20:42 795

原创 从浏览器地址栏输入URL到服务器接收的过程?

1. 在浏览器中输入URL2. 应用层解析URL

2020-11-08 20:39:12 817

原创 JS中var、let、const的区别

var关键字:var声明的范围是函数作用域;即:var在函数内部声明一个变量,那么这个变量是该函数的局部变量,只有在函数内部才能访问,函数外部无法访问(当然如果用闭包可以实现从外部访问,关于闭包:JS中的闭包)var 关键字在全局全局作用域中声明的变量会成为window对象的属性如果在非严格模式下的函数中,未用var声明就给一个变量赋值,那么该变量会变成全局变量,即在函数外部也可访问;而在严格模式下这样给未声明的变量赋值会报错ReferenceError(未定义/引用错误)function te

2020-11-08 11:35:51 312

原创 用栈实现队列,用队列实现栈-----(JS实现)

仅用栈实现队列结构解题思想:准备一个dataIn栈执行入队操作,一个dataOut栈执行出队操作;入队操作时:将数据正常压入dataIn栈即可出队操作时:将dataIn栈的数据倒入dataOut栈,然后将dataOut栈中的数据出栈即可注意:dataIn操作向dataOut栈倒入数据需要遵循两个原则:dataIn必须一次性全部将栈中所有数据都给dataOut栈执行倒入操作前必须保证dataOut栈中没有数据let stcQueue = { dataIn: [], // 负责

2020-11-06 16:48:22 358

原创 力扣---- 最长公共前缀(JS实现)

题目描述:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1: 输入: [“flower”,“flow”,“flight”]输出: “fl”所有输入只包含小写字母 a-z。var longestCommonPrefix = function(strs) { // 当strs中没有字符串时,返回空子串 if (strs.length == 0) { return ""; } let res = strs

2020-11-05 09:57:46 893

原创 力扣----罗马数字转整数(JS实现)

题目描述:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如:罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII,即为 XX + V + II 。通常情况下:罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做

2020-11-05 09:55:35 574

原创 力扣----有效的山脉数组(JS实现)

题目描述:给定一个整数数组 A,如果它是有效的山脉数组就返回 true,否则返回 false。让我们回顾一下,如果 A 满足下述条件,那么它是一个山脉数组:A.length >= 3在 0 < i < A.length - 1 条件下,存在 i 使得:A[0] < A[1] < … A[i-1] < A[i]A[i] > A[i+1] > … > A[A.length - 1]题解:用左右两个指针向中间去爬高。左指针从左往右扫描

2020-11-05 09:52:09 231

原创 力扣----有效的括号(JS实现)

题目描述:给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: “()”输出: truevar isValid = function(s) { // 初始化一个哈希表:key为右括号,value为同类型的左括号 const map = new Map([ [")", "("],

2020-11-05 09:45:44 725

原创 JS中的闭包

我们知道,变量都是有作用域的:在JS中,如果在一个函数里边定义了一个变量(即局部变量),那么这个变量的作用域就是这个函数内部,也就是说只有在这个函数内部才可以访问该变量。那么如果我们想要在函数外部访问这个变量呢?这个时候就可以用闭包,闭包的作用就是延长了局部变量的作用域。那么闭包是什么呢?在JavaScript权威指南中,是这样描述闭包的:函数对象可以和作用域链相互关联起来,函数体内部的变量都可以保存在函数作用域内,这种特性在计算机科学文献中称为“闭包”。在JavaScript高级程序设计中,是这样描

2020-11-03 08:33:58 282

原创 本地存储sessionStorage和localStorage(含案例)

localStorage和sessionStorage都是本地存储。为什么要使用本地存储呢?答:因为在有些情况下,浏览器并不需要和服务器交流;比如一个备忘录的页面,它其实只需要将数据存储下来方便用户在忘记的时候查看即可,并不需要其他更多的与服务器的交流。当然我们也可以将其存储到服务器上去,但这样会增加服务器的负担,所以这个时候最好的选择是使用本地存储。也就是将用户的一些数据存到本地(即浏览器)本地存储的特点:数据存储在用户浏览器中设置、读取方便,甚至页面刷新也不会丢失容量较大,sessio

2020-10-24 08:02:11 602

原创 力扣----回文数(Java实现)

力扣----回文数(Java实现):题目:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。进阶:不将整数转为字符串来解决示例 1:输入: 121输出: true解题思路:1. 当 x = 0 时,是回文数,返回true2. 当 x 为负数时,一定不会是回文数,返回false3. 当 x 末位是0 时,也一定不会是回文数,因为最高位不可能为 0,返回false4. 排除1,2两种情况后,我们其实只需要反转到x的后边一半,来与其前边一半比较是否相等,相

2020-10-20 22:31:45 266

原创 剑指 面试题50

剑指 面试题50:字符串中第一个只出现一次的字符。在字符串中找出第一个只出现一次的字符,如:输入“abaccdeff”,泽输出“b”解题思路:用数组来实现哈希表;创建一个int[]数组,让int[]下标作为key(表示这个字符的ASCII码),下标所指向的元素作为value(表示这个字符出现的次数);由于char是一个长度为8的字符类型,那么就有2的8次方也就是256种可能,所以创建的int[]长度为256。然后第一次遍历字符串将每个字符和它的出现次数填入map表;第二次遍历map表找出第一个只出现

2020-10-20 21:50:49 79

原创 剑指 面试题3:数组中重复的数字

剑指 面试题3:数组中重复的数字题目一:找出数组中重复的数字。在一个长度为 n 的数组里所有数字都在0–(n-1)的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。例如:如果输入长度为7的数组{2,3,1,0,2,5,3}那么对于的输出是重复的数字2,或者3。解题思路:1. 对输入的数组进行排序,再扫描排序后的数组就能很容易找出重复的数字,排序需要的时间复杂度为O(n*logn)2. 利用哈希表解决,用一个长度为n辅助数

2020-10-20 21:42:01 89

原创 力扣----有序数组的平方(Java实现)

力扣----有序数组的平方(Java实现):题目:给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。此题要注意的一个点是,负数平方后变成了正数;方法一:先把数组中的每个数都平方后,再对其进行排序;这种方法容易想但耗时长此处用的是冒泡排序:(这里可以用别的排序方法,也可以用java自带的排序方法Arrys.sort())原理:第一个数和第二个数比较,如果第一个数大于第二个,那么两个数交换后;接着第二个数和第三数比较,如果第二个大于第三个数那么两个数交换

2020-10-16 21:42:52 430

原创 力扣----两数之和(Java实现)

题目: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数, 并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9;因为 nums[0] + nums[1] = 2 + 7 = 9;所以返回 [0, 1]此题用哈希映射求解,哈希表其实就是(key,value)一个key对应一个value值,map常用方法有:具体过程如下:*

2020-10-12 21:29:05 710

原创 鼠标覆盖出现文字

一开始是一个空盒子,当鼠标放上后会以左下角为旋转点,逆时针转出文字<!-- 一开始子盒子不可见,当鼠标放在父盒子上时,子盒子以左下角为旋转中心点转出来 --><!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"&

2020-10-09 22:11:02 558

原创 蓝桥杯入门Fibonacci数列

问题描述Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。输入格式输入包含一个整数n。输出格式输出一行,包含一个整数,表示Fn除以10007的余数。说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果...

2019-12-23 21:39:09 325

原创 冒泡、选择、插入三种排序

冒泡排序:1. 将要排序的元素想象成一组从上往下的泡泡,排序时,分有序和无序两个区域;2. 开始排序的时候,有序区里只有1号泡泡,剩余泡泡在无序区;3. 从无序区中拿出2号泡泡与有序区的1号泡泡比较,若2号小于1号则两个泡泡交换,大于则不做交换;比较后的有序区里变成两个泡泡,其余在无序区4. 再从无序区拿出3号泡泡与有序区2号比较,小于2号则交换,交换后再与1号比较,小于1号则再交换;若与...

2019-11-26 12:25:37 138

原创 抽象类

抽象方法:如果父类中的方法不确定如何进行{ }方法体实现,则这应是一个抽象方法。格式:加上abstract关键字,去掉"{ }",之间";"如:abstract void eat();抽象类:在class之前加上abstract关键字即可如:public abstract class Animal{…}注:抽象方法所在类必须是抽象类如何使用抽象方法:不能直接创建(new)抽象类对象...

2019-11-19 22:11:22 155

原创 Arrays工具类

java.util.Arrays是一个与数组相关的工具类,里面提供了大量静态方法,用来实现数组的常见操作。常用静态方法:public static String toString(数组名):将参数数组变成字符串(按默认格式[元素1,元素2,元素3,…])public static void sort(数组名):按默认升序(从小到大)对数组元素进行排序备注:1)若是数值类型的数组,sor...

2019-11-18 22:04:18 124

原创 static静态关键字

static静态关键字所修饰的内容是属于类的,凡是本类的对象,都共享该内容。static关键字用来修饰一个变量,那这个变量是属于类的;用来修饰方法,该方法即静态方法,静态方法不属于对象,属于类。有无static修饰的方法区别:若一个方法无static关键字修饰,则需创建对象后,通过对象来调用才能使用该方法若有static修饰,即对于静态方法来说,可以通过对象名调用(不推荐),也可以通过类...

2019-11-17 21:12:19 124

原创 求出二维数组横向纵向最大和

题目:统计二维整数数组中,横向或纵向连续3个相邻元素的最大和。输入说明:数组行数x列数 y, 二维整数数组中元素;输出说明:此数组中横向或纵向连续3个相邻元素的最大和。输入样例:4 43 6 0 81 0 2 42 0 1 90 1 2 3输出样例:21解题思路:1. 创建一个二维数组twoDim存放输入的数据。2. 遍历该二维数组,将横向连续三个数之...

2019-11-15 22:49:04 844 1

原创 搜索字符串

题目:内容检索是计算机的强项,现有一段英文文字和一个英文关键词,请找出这个关键词在这段英文文字中的位置,如果该关键词出现不止一次,请输出该关键词第一次出现的位置。输入说明:一段英文文字(含有空格和标点符号,以’!’作为结束符)和一个英文关键词;输出说明:关键词第一次出现的位置,首位置记为1;输入样例:Today is Oct 9. There are seven cats in the h...

2019-11-14 22:22:18 269

原创 组装汽车

题目:某汽车组装厂主要产品为4轮沙滩越野车(3座)和6轮山地越野车(5座),这两类车辆的轮胎是通用的,车内安装的座位也是通用的。这些部件每月初由供货商送到仓库,其它所需部件都有足够多的库存。组装厂依据月初仓库中的合格部件数量决定每类车辆的组装数量。现有某月初仓库中的两类物品数量,请计算本月两类汽车的产量。输入说明:两种部件的合格品数量;输出说明:两类汽车的生产数量;输入样例:20 16输...

2019-11-13 23:15:24 221

空空如也

空空如也

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

TA关注的人

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