1 秃头的毛睿

尚未进行身份认证

我要认证

爱好是力量,篮球和技术以及漂亮的姑娘; 梦想是做一名会编码的厨子。

等级
TA的排名 9w+

Java单例设计模式

单例设计模式就是采取一定的方法保证在整个软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。我们必须将类的构造方法访问权限设置为private,这样就不能用new在类的外部产生类的对象了,但在类内部任然可以产生该类的对象。由于在类的外部开始还无法得到类的对象,只能调用该类的某个静态方法以返回类内部创建的对象,静态方法只能访问类中的静态成员变量,所以,指向类内部产生的该类对象的遍历也必须定义成静态的。1.饿汉式实现class Hungry{ //私有化构造器,使

2020-08-06 21:43:03

数对和

LeetCode算法网站算法题https://leetcode-cn.com/problems/pairs-with-sum-lcci/Java使用Map哈希表储存数组中每一个值出现的次数辅助实现注意:即使遍历到当前值就是答案值时没有储存进入答案数组,到后面也一定会被放进去class Solution { public List<List<Integer>> pairSums(int[] nums, int target) { List&l.

2020-08-06 19:03:21

打家劫舍(三)

LeetCode算法网站算法题https://leetcode-cn.com/problems/house-robber-iii/用 f(o) 表示选择 o 节点的情况下,o 节点的子树上被选择的节点的最大权值和;g(o) 表示不选择 o 节点的情况下,o 节点的子树上被选择的节点的最大权值和;l 和 r 代表 o 的左右孩子。(1)当 o 被选中时,o 的左右孩子都不能被选中,故 o 被选中情况下子树上被选中点的最大权值和为 l 和 r 不被选中的最大权值和相加,即 f(o)=g(l)+g(r

2020-08-05 20:04:53

课程表

LeetCode算法网站算法题https://leetcode-cn.com/problems/course-schedule/这道题的思路就是把课程表之间的关系转换为有向图,并检测有向图中是否有环一.深度优先搜索算法:对于图中的每一个节点都有三个状态(1)未搜索:我们还没有搜索到这个节点;(2)搜索中:我们搜索过这个节点,但还没有回溯到该节点,即该节点还没有入栈,还有相邻的节点没有搜索完成);(3)已完成:我们搜索过并且回溯过这个节点,即该节点已经入栈,并且所有该节点的相邻

2020-08-04 20:58:34

鸡蛋掉落

LeetCode算法网站算法题https://leetcode-cn.com/problems/super-egg-drop/地位:经典的动态规划算法题

2020-07-31 22:53:58

JavaScript学习(十)——字符串

一.字符串在底层还是字符数组任然可以向c/c++中那样 str[0] 使用下标调用某一个字符,也可以使用str.charAt(0)这种调用下标的方法来获取某一个字符。二.charCodeAt()方法获取指定位置的字符Unicode编码三.fromCharCode()方法调用方式是String.fromCharCode(),不是使用字符串名,而是直接使用数据类型调用,记住Unicode是16进制。四.concat()方法可以连接调用方法的字符串以及传入的字符串参数五.Index

2020-07-29 19:51:17

JavaScript学习(十六)——JSON

由于我们在实际开发中需要从前端向后台传递数据,所以JSON可以帮我们实现这一需求,JS中的对象只有自己认识,其他语言都不认识,而JSON就是一个特殊格式的字符串,这个字符串可以被任意语言所识别,并且可以转换为任意语言中的对象,JSON在开发中主要用来做数据的交互。JSON和JS对象格式一样,只不过JSON字符串中的属性名必须加双引号,其他的和JS语法一致。JSON分类:1.对象:{}2.数组:[]JSON中允许的值:1.字符串 2.数值 3.布尔值 4.null 5.对象 6.数组将JSON

2020-07-29 19:18:59

JavaScript学习(十五)——类的使用

我们在JS中修改CSS样式的时候是使用syle属性来修改元素的样式,但是每修改一个样式,浏览器就会重新渲染一次页面,这样程序执行的性能是比较差的,而且这种形式当我们需要修改多个样式的时候也不方便,CSS和JS代码耦合在一起也不方便维护程序。我们可以使用元素的className属性来同时修改多个样式元素对象.className="样式名称";这种方法可以修改一次同时修改多个样式,并且浏览器只需要重新渲染页面一次,性能比较好,并且这种方式可以进一步的使行为与表现分离。如果想要添加样式的话(记住

2020-07-29 16:43:27

JavaScript学习(十四)——BOM

BOM是浏览器对象模型,BOM可以使我们通过JS来操作浏览器,在BOM中为我们提供了一组对象,用来完成对浏览器的操作。BOM对象:Window——代表的使整个浏览器的窗口,同时window也是网页中的全局对象Navigator——代表的当前浏览器的信息,通过该对象可以来识别不同的浏览器由于历史原因Navigator;对象中的大部分属性都已经不能帮助我们识别浏览器了,一般我们只会使用userAgent来判断浏览器的信息,userAgent是一个字符串,这个字符串中包含有用来描述浏览器信息的内容

2020-07-29 15:45:12

JavaScript学习(十三)——事件

事件对象:当事件的响应函数被触发时,浏览器每次都会将一个事件对象作为实参传递进入响应函数,在事件对象中封装了当前事件相关的一切信息,比如鼠标坐标,键盘那个按键被按下,鼠标滚轮方向……1.onmousemove事件该事件会在鼠标在元素中移动时触发,clientX可以获取鼠标指针的水平座标,clientY可以获取鼠标指针的垂直坐标,他们获取的是相对于当前可见窗口的坐标,哪怕滚动条的移动,坐标还是相对于当前左上角。但是标签的偏移量坐标是相对于整个页面的,所以我们可以使用pageX和pageY来获取鼠标相对

2020-07-29 10:12:09

JavaScript学习(十二)——DOM

DOM对象可以使得JS对HTML文档进行操作。1.获取对象操作<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></hea

2020-07-27 10:29:48

JavaScript学习(十一)——正则表达式

正则表达式用于定义一些字符串的规则,计算机可以根据正则表达式来检查一个字符串是否符合规则,获取将字符串中符合规则的内容提取出来。1.创建正则表达式的对象语法:var 变量 = new RegExp("正则表达式","匹配模式");var reg=new RegExp("a");2.正则表达式的test()方法var reg=new RegExp("a");document.write(reg.test("abc"));上面这一段正则表达式可以检测test()传入的...

2020-07-24 09:01:07

JavaScript学习(九)——Date

一.创建一个普通的Date对象,则会被封装成当前代码执行时间var zzb=new Date();document.write(zzb);二.创建一个指定的时间对象,需要在构造函数中传递一个表示时间的字符串作为参数参数的格式:7/23/2020 19:06:52——月/日/年 时:分:秒var zzb=new Date("7/8/2019 17:00:00");document.write(zzb);三.常用方法getDate() 获取当前对象日期是几日ge..

2020-07-23 19:37:22

JavaScript学习(八)——数组

JS中的数组是一个对象。一.创建对象不传参数创建空数组var data=new Array();传入两个以上的参数的话,是会创建一个以参数为元素的数组var data=new Array(5,2,0);但是如果传入一个参数的话,会创建一个长度为参数的数组var data=new Array(5);//长度为5的数组二.向数组中添加元素——Js中向数组中添加元素比C++/C简单,直接使用数组下标赋值就可以了data[0]=5;data[1]=2;data[2]=

2020-07-23 14:32:26

JavaScript学习(七)——this

在编译Js代码的时候,解析器在调用函数每次都会像函数内部传递进一个隐含的参数,这个隐含的参数就是this,this指向的是一个对象,这个对象我们成为函数执行的上下文对象,它根据函数的调用方式的不同,this会指向不同的对象:1.以函数方式调用时,this永远都是window;2.以方法的方式调用时,this就是调用方法的那个对象。this·关键字和c/c++中发生了一些区别,指向的东西不会一直的不变,但其实这么说也不严谨!!!相似点还是有不少的。举个this在JS程序中灵活应用的例子:为了打

2020-07-21 21:14:33

JavaScript学习(六)——作用域

一.全局作用域——直接编写在script标签中的JS代码,都在全局作用域——全局作用域在页面打开时创建,在页面关闭时销毁——在全局作用域中有一个全局对象window,它代表的是一个浏览器窗口,它由浏览器创建我们可以直接使用——在全局作用域中,创建的变量都会作为window对象的属性保存,创建的函数都会作为window对象的方法保存function fun4(){ function fun_son(x){ document.write("你的心有一道墙"+"&lt

2020-07-21 20:50:02

JavaScript学习(五)——函数

1.创建一个函数对象

2020-07-21 19:43:13

JavaScript学习(四)——对象

对象的分类:1.内建对象——由ES标准中定义的对象,在任何的ES的实现中都可以使用——比如,Math String Number Boolean Function Object....2.宿主对象——由JS的运行环境提供的对象,目前来讲主要指由浏览器提供的对象——比如BOM DOM3.自定义对象——由开发人员自己创建的对象JS对象的创建:后边的object()是对象的构造函数var TuBoWen=new Object();var TuBoWen={};...

2020-07-20 22:13:29

戳气球

LeetCode算法网站算法题https://leetcode-cn.com/problems/burst-balloons/其实思路是一样的,就是动态规划,dp[i][j](或者rec[i][j])表示的是,第i个气球为删除气球的左气球,第j个气球为删除气球的右气球,记住有一点是删除最后一个气球时左气球是1,右气球也是1,这两个气球是不存在的,但是为了方便我们重新用一个数组来储存气球数据,最左边和最右边的是模拟实际情况的两个值,而且数组的下标也更好操作。1.记忆化搜索class Solu

2020-07-19 15:28:06

JavaScript学习(三)——类型转换

js的类型转换不能像c/c++中那么糙的强制转换1.向String类型转换(1)使用变量的toString方法,这里的变量就相当于c++中的对象,它拥有自己的方法,但是不能对Null和Undefined类型的变量 使用这个方法,而且他并不是直接修改原变量,而是需要对变量赋值返回值(2)使用String函数,这个函数同样需要对变量赋值返回值,需要把转换的变量作为参数传给函数,而且对上面提到的两种类型同样可以使用2.向Number类型转换(1)使用Number函数转换字符串的话,如果.

2020-07-18 20:27:41

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。