自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (4)
  • 收藏
  • 关注

原创 力扣题解| 292. Nim 游戏

292. Nim 游戏你和你的朋友,两个人一起玩Nim 游戏:桌子上有一堆石头,每次你们轮流拿掉1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。示例:输入: 4输出: false 解释: 如果堆中有 4 块石头,那么你永远不会赢得比赛; 因为无论你拿走 1 块、2 块 还是 3 块石头,最后一块石头总是会被你的朋友拿走。思路:一个找规律的题,挺有意思的:当...

2020-06-30 16:12:04 462

原创 centos7| 添加开启自启动服务

在centos7系统中添加自定义开机自启动程序。解决方案:打开/etc/rc.d/rc.local文件,在文件末尾追加要执行的程序即可,例如:#!/bin/bash# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES## It is highly advisable to create own systemd services or udev rules# to run scripts during boot instead of using th

2020-06-28 23:43:43 283 1

原创 力扣题解| 933. 最近的请求次数

933. 最近的请求次数难度简单52收藏分享切换为英文关注反馈写一个RecentCounter类来计算最近的请求。它只有一个方法:ping(int t),其中t代表以毫秒为单位的某个时间。返回从 3000 毫秒前到现在的ping数。任何处于[t - 3000, t]时间范围之内的ping都将会被计算在内,包括当前(指t时刻)的ping。保证每次对ping的调用都使用比之前更大的t值。示例:输入:inputs = ["RecentCou...

2020-06-28 15:50:37 277

原创 数据结构| 单链表的实用操作(JAVA实现)

定义链表节点结构:public class ListNode { int val; ListNode next; ListNode(int x) { val = x; } }有序单链表的去重:思路:这是一个简单的问题,仅测试你操作列表的结点指针的能力。由于输入的列表已排序,因此我们可以通过将结点的值与它之后的结点进行比较来确定它是否为重复结点。如果它是重复的,我们更改当前结点的 next 指针,以便它跳过下一个结点并直接指向下一个结点之后的结点。public Li

2020-06-27 21:32:14 177

原创 力扣题解| 41. 缺失的第一个正数

41. 缺失的第一个正数给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数。示例1:输入: [1,2,0]输出: 3示例2:输入: [3,4,-1,1]输出: 2示例3:输入: [7,8,9,11,12]输出: 11,暴力求解首先最容易想到的就是暴力求解,从1开始一个个查找,没找到就直接返回 public int firstMissingPositive(int[] nums) { for (int i = 1...

2020-06-27 16:17:14 242

原创 力扣题解| 70. 爬楼梯

70. 爬楼梯假设你正在爬楼梯。需要 n阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. 1 阶 + 2 阶3. 2 阶 + 1 阶动态规划思路和算法我们用 f(x)表示.

2020-06-26 20:21:57 232

原创 力扣题解| 69. x 的平方根

69. x 的平方根实现int sqrt(int x)函数。计算并返回x的平方根,其中x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。解法一:class Solution { public int mySqrt(int x) { ...

2020-06-26 17:29:26 193

原创 力扣题解| 67. 二进制求和

67. 二进制求和给你两个二进制字符串,返回它们的和(用二进制表示)。输入为 非空 字符串且只包含数字1和0。示例1:输入: a = "11", b = "1"输出: "100"示例2:输入: a = "1010", b = "1011"输出: "10101"提示:每个字符串仅由字符 '0' 或 '1' 组成。 1 <= a.length, b.length <= 10^4 字符串如果不是 "0" ,就都不含前导零。解题方案思路整体思...

2020-06-25 21:02:38 182

原创 力扣题解| 66. 加一

66. 加一给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 4321。根据题意加一,没错就是加一这很重要,因为它是只加一的所以有可能的情况就只有两种:...

2020-06-25 17:54:29 273

原创 力扣题解| 剑指 Offer 57 - II. 和为s的连续正数序列

剑指 Offer 57 - II. 和为s的连续正数序列难度简单113收藏分享切换为英文关注反馈输入一个正整数target,输出所有和为target的连续正整数序列(至少含有两个数)。序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。示例 1:输入:target = 9输出:[[2,3,4],[4,5]]示例 2:输入:target = 15输出:[[1,2,3,4,5],[4,5,6],[7,8]]结题思路:什么是滑动窗口滑动窗口可以看成数...

2020-06-24 17:02:13 104

原创 力扣题解| 1160. 拼写单词

1160. 拼写单词难度简单95收藏分享切换为英文关注反馈给你一份『词汇表』(字符串数组)words和一张『字母表』(字符串)chars。假如你可以用chars中的『字母』(字符)拼写出words中的某个『单词』(字符串),那么我们就认为你掌握了这个单词。注意:每次拼写(指拼写词汇表中的一个单词)时,chars中的每个字母都只能用一次。返回词汇表words中你掌握的所有单词的长度之和。示例 1:输入:words = ["cat","bt","hat","t...

2020-06-24 15:34:12 266

原创 力扣题解| 912. 排序数组

912. 排序数组给你一个整数数组nums,请你将该数组升序排列。示例 1:输入:nums = [5,2,3,1]输出:[1,2,3,5]示例 2:输入:nums = [5,1,1,2,0,0]输出:[0,0,1,1,2,5]提示:1 <= nums.length <= 50000 -50000 <= nums[i] <= 50000题解:class Solution { public int[] sortArray..

2020-06-21 16:39:19 264

原创 力扣题解| 225. 用队列实现栈

225. 用队列实现栈难度简单187收藏分享切换为英文关注反馈使用队列实现栈的下列操作:push(x) -- 元素 x 入栈 pop() -- 移除栈顶元素 top() -- 获取栈顶元素 empty() -- 返回栈是否为空注意:你只能使用队列的基本操作-- 也就是push to back,peek/pop from front,size, 和is empty这些操作是合法的。 你所使用的语言也许不支持队列。你可以使用 list 或者 deque(双端队列)来模拟一个...

2020-06-21 16:09:08 158

原创 力扣题解| 999. 可以被一步捕获的棋子数

999. 可以被一步捕获的棋子数难度简单72收藏分享切换为英文关注反馈在一个 8 x 8 的棋盘上,有一个白色的车(Rook),用字符'R'表示。棋盘上还可能存在空方块,白色的象(Bishop)以及黑色的卒(pawn),分别用字符'.','B'和'p'表示。不难看出,大写字符表示的是白棋,小写字符表示的是黑棋。车按国际象棋中的规则移动。东,西,南,北四个基本方向任选其一,然后一直向选定的方向移动,直到满足下列四个条件之一:棋手选择主动停下来。 棋子因到达棋盘的边缘而停下。 棋...

2020-06-21 15:30:37 215

原创 力扣题解| 169. 多数元素

给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例1:输入: [3,2,3]输出: 3示例2:输入: [2,2,1,1,1,2,2]输出: 2题解:class Solution { //方法一耗时多,容易理解 public int majorityElement(int[] nums) { int major = nums.leng...

2020-06-20 20:56:30 190

转载 docker| Error response from daemon: Get https://index.docker.io/v1/search?q=win7&n=25: net/http: TLS

Docker镜像报错:Error response from daemon: Get https://index.docker.io/v1/search?q=win7&n=25: net/http: TLS handshake timeout解决方案:1.打开终端,su root 输入密码2.打开 vim /etc/docker/daemon.json(若没有自行创建)3.写入:{ "registry-mirrors":["https://docker.mirrors..

2020-06-18 22:24:45 1893 2

原创 IDEA| Error resolving template [index], template might not exist or might not be accessible by any

报错:Error resolving template [index], template might not exist or might not be accessible by any of the configured.使用环境:使用shpringboot搭建项目时候,后台COntroller返回页面地址报错提示找不到index.html。原因:在使用springboot的过程中,如果使用thymeleaf作为模板文件,则要求HTML格式必须为严格的html5格式,必须有结束标签,否则会报错

2020-06-16 10:55:25 1218

原创 代码规范| 面向对象六大基本原则

开闭原则一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展。任何软件都需要面临一个很重要的问题,即它们的需求会随时间的推移而发生变化。当软件需求变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化. 软件实体(类、模块、函数等等)应该可以扩展,但是不可修改。我们在设计软件的时候,首先要搞清楚程序当中什么是未来可能变化的,什么是未来不会变化的。对于可能变化的东西,我们要提前给与可以对应的扩展接口。当然实际开发中,即便是我

2020-06-15 16:39:33 329

原创 代码实现| springboot+mybatis+PageHelper实现Mysql数据分页

第一步:在pom.xml引入PageHelper的依赖 <!--分页插件--> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1

2020-06-13 16:32:04 269

原创 JVM基础四| 深入理解JVM执行子系统

引言Java语言选择了与操作系统和机器指令集无关的、平台中立的格式作为程序编译后的储存格式。Java虚拟机提供的语言无关性是指虚拟机不关心Class的来源是何种语言,只要能生成Class文件就够了。可以使用Binary Viewer等软件读取二进制文件。Java语言中的各种变量、关键字和运算符号的语义最终都是由多条字节码命令组合而成的,因此字节码命令所能提供的语义描述能力肯定会比Java语言本身更加强大。因此,有一些Java语言本身无法有效支持的语言特性不代表字节码本身无法有效支持,这也为其他语言实

2020-06-13 14:08:14 268

原创 JVM基础三| 深入理解垃圾回收及算法

引言在堆里面存放着Java世界中几乎所有的对象实例,垃圾收集器在对堆进行回收前,第一件事情就是要确定这些对象之中哪些还“存活”着,哪些已经“死去”(即不可能再被任何途径使用的对象)。如何判定对象为垃圾对象?一、引用计数算法判断对象是否存活的算法是这样的:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。老师面试过很多的应届生和一些有多年工作经验的开发人员,他们对于这个问题给予的都是这个答案。客观

2020-06-11 15:19:41 335 2

原创 IDEA| centos Unable to open debugger port(127.0.0.1:60157) socket closed

今天进行项目移植部署,用另一台机器打开IDEA然后通过tomcat启动,结果启动时一直报错:Unable to open debugger port(127.0.0.1:62405):java.net.SocketException"socket closed。网上很多文章介绍出现这个报错的原因是因为端口被占用导致的。不过试着更改了端口以及JMX的端口数依旧无法解决问题,后来查看log日志发现,竟然是linux系统导致tomcat没有运行权限。解决方案:通过linux系统给tomcat文件夹附加权限

2020-06-10 14:40:31 351

原创 JVM基础二| 深入理解JVM内存对象

引言Java是一门面向对象的编程语言,在Java程序运行过程中无时无刻都有对象被创建出 来。在语言层面上,创建对象(例如克隆、反序列化)通常仅仅是一个new关键字而已,而 在虚拟机中,对象(课中讨论的对象限于普通Java对象,不包括数组和Class对象等)的创建 又是怎样一个过程呢?对象的创建虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一 个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。对象创建的总体流程如下图所示:对象创建的总体流

2020-06-09 16:47:04 225

原创 前端| js动态修改video标签视频不刷新的问题

问题描述:在网页上用<video>标签放一个视频播放器,点击视频目录来自动播放不同的视频。通过js动态生成li,点击li之后更改<video>标签<source>中的src,。代码中的src确实有变化,但是网页中的视频并没有加载新的视频。前端代码如下:<video id="video_player" style="margin: 5px 5%" width="90%" height="400" align="center" controls>

2020-06-08 23:37:20 4219 1

原创 JVM基础一| java se体系结构及jvm概述

Java SE体系架构java se体系结构图JVM :英文名称(Java Virtual Machine),就是我们耳熟能详的 Java 虚拟机。它只认识 xxx.class 这种类型的文件,它能够将 class 文件中的字节码指令进行识别并调用操作系统向上的 API 完成动作。所以说,jvm 是 Java 能够跨平台的核心,具体的下文会详细说明。JRE :英文名称(Java Runtime Environment),我们叫它:Java 运行时环境。它主要包含两个部分,jvm 的标准实现和 J.

2020-06-08 15:29:28 429

原创 代码实现| springboot+Mybatis注解版轻松集成

springboot集成Mybatis有两种方式,一种是配置xml方式,另一种是使用注解方式,本文主要讲解一下如何轻松快速的实现注解版的springboot+mybatis继承,开发本不易,绕过xml配置文件更健康啊! 关于两个框架的理论部分本文暂时不讲,默认都会,否则也不会搜到这个破文章(嘿嘿!)轻松集成:1、添加pom依赖 <dependency> <groupId>mysql</grou...

2020-06-07 15:48:37 198

原创 IDEA| Spring Boot项目中@SpringBootTest测试的时候卡住,一直Resolving Juint-platform-engine/1.6.2........

今天在springboot项目中做单元测试时候用到@Test时,总是卡在加载Resolving Juint-platform-engine/1.6.2........中,然后一直加载不出来,着实让人上火。关键是:还取消不掉!!!!无奈只能强制关闭IDEA软件。查看了网上多种解决方法,我也是挨个都试了遍,就一种方法成功了,因此,在这里写个文为大家总结一下这个坑的各种解决方案,方案千万种,总有一种适合你,愿下辈子没有bug(巴拉巴拉)。解决方案1:(本人服用后效果甚佳)引入以下依...

2020-06-07 15:11:09 3521 5

原创 java基础| 面向对象编程基础

啥叫面向过程?就是自顶向下,逐层分解(巴拉巴拉.....)。面向过程vs面向对象:面向过程:优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、 Linux/Unix等一般采用面向过程开发,性能是最重要的因素。 缺点:没有面向对象易维护、易复用、易扩展 面向对象: 优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统 更加灵活、更加易于维护 缺点:性能比面向过程低 ...

2020-06-06 21:29:40 224

原创 java基础| 如何实现无符号数的右移操作

Java提供了两种右移运算符:>> 和 >>>。其中,>>被称为有符号右移运算符,>>>被称为无符号右移运算符。他们的功能时将参与运算的对象对应的二进制数右移指定的位数。二者不同点在于>>在执行右移操作时,若参与运算的数字为正数,则在高位补零;若为负数,则在高位补1。而>>>则不同,无论参数运算的数字为正数还是负数,在执行运算时,都会在高位补0。 在对char, bute, short...

2020-06-03 21:19:54 1186

原创 java源码| HashMap源码分析

hash和HashMap基础知识hash算法: 把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。常用 HASH 函数:直接取余法、乘法取整法、平方取中 法。hash冲突 : 因为不同的输入可能会散...

2020-06-01 19:19:58 156

原创 Centos7| 远程连接vncserver时输入账户密码后闪退

如果系统中安装了anaconda软件的话很有可能是环境变量冲突了。在anaconda中中有个dbus-daemon和/usr/bin中的dbus-daemon重名,因此,很容易造成环境变量的覆盖。解决方法:调整环境变量让anaconda的环境变量在/usr/bin之后即可。命令行显示环境变量: echo /etc/profile修改环境变量:vi /etc/profile刷新环境变量:source/etc/profile...

2020-06-01 10:25:32 1624 1

纯前端实现的音乐播放器,带频谱酷炫显示

一款带频谱酷炫显示的纯前端实现的音乐播放器,适用于自己搭建后台套用的前端音乐播放器模板

2021-02-28

KillVirus杀毒软件专杀u盘病毒

KillVirus杀毒软件专杀u盘病毒 可精确快速的杀除exe文件夹以及快捷方式等顽固病毒

2017-01-06

计算机组成原理

计算机组成原理是计算机类专业考试的四大考试重点之一,该ppt包含了全书的重点和难点

2016-05-11

MFC特殊文本颜色编辑框(函代码)

编辑框的文本颜色通常使用黑色,可是白色的背景衬托黑色的字体,时间长了会产生视觉疲劳,为了解决这个问题,可以设计一个具有特殊文本颜色的编辑框,在解决视觉疲劳的同时也可以么美化程序界面

2016-05-02

空空如也

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

TA关注的人

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