- 博客(109)
- 资源 (5)
- 收藏
- 关注
原创 LeetCode题解之92. Reverse Linked List II
问题链接英文网站:92. Reverse Linked List II中文网站:92. 反转链表 II问题描述Given the head of a singly linked list and two integers left and right where left <= right, reverse the nodes of the list from position left to position right, and return the reversed list.Ex
2021-07-18 13:06:48
255
原创 LeetCode题解之199. Binary Tree Right Side View
文章目录问题链接问题描述解题思路思路一:递归思路二:层次遍历相关题目问题链接英文网站:199. Binary Tree Right Side View中文网站:199. 二叉树的右视图问题描述Given the root of a binary tree, imagine yourself standing on the right side of it, return the values of the nodes you can see ordered from top to bottom
2021-07-04 19:28:19
444
4
原创 LeetCode题解之198. House Robber
文章目录问题链接问题描述解题思路相关题目问题链接英文网站:198. House Robber中文网站:198. 打家劫舍问题描述You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them is that
2021-06-29 00:23:25
275
原创 GitBook 进阶篇之搭建博客
这篇文章的由来是,前几天有位读者看了我的那篇《GitBook 入门指南》,然后来问我 GitBook 怎么配置自定义域名,当时我都不知道 GitBook 有这个功能,所以就研究了一下,发现利用自定义域名,完全可以搭建自己的博客,而且超级简单(所以你会发现本文的篇幅很短)。所以我就把这个过程整理了一下,分享给大家。在此也感谢这位读者提供的灵感。阅读本文时,我假设你对 GitBook 有一个基本的了解,如果你没有的话,建议先看一下我的这篇文章:《GitBook 入门指南》。注册域名及域名解析设置在搭建博客
2021-02-10 15:24:13
847
1
原创 一文读懂浮点数
小数在日常生活中经常用到,比如超市中商品的价格、零件的尺寸等等,计算机作为计算的工具,也必然要支持小数。在计算机中,小数的类型有两种,一种是定点数,即小数点后面的位数是固定的,最典型的定点数就是 BCD 编码;还有一种是浮点数,浮点数的小数点是浮动的,小数点后面的小数位数不固定,这也是本文的主角。本文将主要讨论以下几个问题:计算机如何存储浮点数(IEEE-754 标准)二进制浮点数与十进制小数之间的相互转化浮点数如何做加法运算为什么浮点数运算会导致精度损失(0.3+0.9=0.8999999)
2021-02-05 21:41:31
1781
1
原创 proteus 的使用
文章目录新建工程选择元器件运行仿真封装元件制作元件建立层次结构新建工程点击「新建工程」点击「下一步」点击「下一步」点击「下一步」点击「下一步」点击「完成」新工程的界面如下图所示,在此界面可绘制原理图。选择元器件在原理图绘制界面点击鼠标右键,依次选择「放置」→「元件」→「From Libraries」,然后就会出现「选择元器件」窗口在左上角的「关键字」输入框中输入关键字进行筛选,比如我想找与门,就搜索「and」以下是常用的元器件的名称:运行仿真当我们绘制好了一
2021-01-24 12:38:16
5334
1
原创 Typora使用技巧之插入图片及图片上传
文章目录如何在 Typora 中插入图片直接写 Markdown拖拽图片从剪贴板中粘贴图片插入图片时做的动作上传图片配置图片上传服务iPicuPicPicGo-Core(命令行应用)安装预编译好的 PicGo-Core 二进制程序通过 Node.js 包管理器安装 PicGo-Core配置 PicGo-Core插件使用PicGo.app(仅支持中文)Custom插入图片时自动上传全局设置针对每一个文件单独设置上传图片的使用上传指定的图片上传所有本地图片阅读本文的前置条件:掌握基本的 Markdown
2021-01-17 16:20:10
33936
5
原创 GitBook 入门指南
GitBook 介绍GitBook 是一款现代化的文档平台,支持团队协作,可以在上面写产品文档、内部知识分享、接口文档等。GitBook 有网页版和本地版两种,网页版地址如下:https://www.gitbook.com/,本地版地址如下:https://github.com/GitbookIO/gitbook。本地版是基于 Node.js 开发的,所以需要本地安装 Node.js 环境,本地版现已停止维护了,而且本地版的大部分功能网页版都支持,所以本教程主要是介绍网页版的使用方式。GitBook
2021-01-10 13:58:54
1267
原创 计算机如何做加法?
半加器与全加器门电路是计算机硬件层面最基础的设计单元,计算机要想实现加法运算,也要利用这些门电路。我们在做十进制的加法时,是逢十进一,同样的,在二进制的加法中,就是逢二进一。从下表中可以看出,两个 1 bit 位的二进制数相加的和等于这两个数做「异或」操作的结果,而产生的进位则等于这两个数做「与」操作的结果。根据上述特点,可以很容易设计出下面这种电路,实现两个 1 bit 位的二进制数的加法。我们将这种电路称之为半加器。为什么叫半加器呢?因为这个电路只能计算两个 1 bit 位的二进制数的加法
2020-12-20 16:36:30
8215
原创 Java 网络编程入门及实战
今天这篇博客主要是记录一下如何使用 Java 编写 TCP 网络通信程序,然后实现一个文件上传程序和一个简易的 HTTP 服务器。首先说一下 TCP 通信的过程。服务端程序监听在服务器的某一个端口上,等待客户端的连接,负责监听的是监听套接字,可以称之为 listen_socket,当有客户端连接时,操作系统会创建一个新的套接字 connect_socket,这个套接字专门负责与刚刚连接的客户端进...
2020-03-12 15:35:10
177
原创 一文彻底搞懂「二叉树路径和」问题
文章目录第 112 题:二叉树中是否存在某个路径和思路一:递归思路二:迭代——用栈代替递归第113 题:列出所有满足给定路径和的路径思路一:递归思路二:迭代——用栈代替递归第 437 题:计算满足给定路径和的路径个数直觉优化——利用前缀和总结今天这篇文章我们来总结一下 LeetCode 上关于「二叉树路径和」的问题。我们今天所讲的二叉树上的结点,都是下面这个 TreeNode 类的对象pub...
2020-03-08 16:29:34
3918
1
原创 Git 的备份
传输协议常用协议语法格式说明本地协议(1)/path/to/repo.git哑协议本地协议(2)file://path/to/repo.git智能协议http/https 协议http://git-server.com:port/path/to/repo.githttps://git-server.com:port/path/to/repo.git平...
2020-03-07 12:32:39
3763
原创 花式接雨水
文章目录第 11 题 怎样接最多的雨水思路一:暴力求解思路二:双指针第 42 题 能够接多少雨水思路一:暴力求解思路二:动态规划思路三:栈思路四:双指针(大杀器)第 407 题 第 42 题升级版——三维地图接雨水解题思路今天总结一下 LeetCode 上的几道跟接雨水有关的题目。第 11 题 怎样接最多的雨水题目链接:11. Container With Most Water原题如下:...
2020-03-07 10:19:59
447
原创 跟硬币杠上了!!!
最近遇到了好几个跟硬币有关的问题,特地总结一下,下次再遇到就不会混淆了。问题一:换零钱需要最少几个硬币**问题描述:**给你几个不同面额的硬币以及一个总金额 amount,求组成 amount 所需的最少硬币数,如果无法组成 amount,则输出 -1。样例 1:输入: coins = [1, 2, 5], amount = 11输出: 3 解释: 组成 11 最少需要 3 个硬币——...
2020-03-02 22:22:06
171
原创 Windows10装Ubuntu双系统 + 引导修复
前两天突然心血来潮想给电脑装个双系统(Windows10 + Ubuntu),折腾了两三天才搞定,把过程记录一下,供以后参考。先说一下我电脑的情况:电脑型号:华硕 K450V操作系统:Windows10硬盘情况:一块三星的固态硬盘,256G,还有一块东芝的机械硬盘,500G,Windows 系统装在了固态硬盘上我要给电脑装的第二个系统是 Ubuntu 18.04其实装系统的主要过程...
2020-02-14 18:06:58
1006
原创 ARP 原理以及 ARP 攻击与欺骗
文章目录前言ARP 攻击的原理ARP 协议ARP 攻击ARP 攻击实战前期准备环境搭建ARP 报文格式编写代码测试攻击者接收数据结语参考链接前言前段时间在学网络协议的时候,知道了有 ARP 攻击这么个东西,但是当时对 Linux 环境下的 C 语言编程不是很了解,一直没有机会实践一下。终于在最近学习了网络编程之后,才算是入门了一点点 Linux C 语言编程。于是乎,经过两天的研究,终于亲自试...
2019-12-15 11:52:06
1941
原创 在 Idea 中配置远程 tomcat 并部署
1. 前言在项目开发过程中,需要访问某公司的接口,由于将我们公司自己服务器的 IP 配置成了发起请求的主机 IP,所以只有在服务器上运行的项目请求那个接口才能请求成功。我们平常开发都是在自己电脑本地的 tomcat 中运行项目,这样显然不能访问该公司的接口,但是如果在本地编译完再部署到服务器上测试就太浪费时间了。所以需要在 Idea 中配置服务器上的tomcat,这样在本地写完代码之后,点击运行...
2019-11-01 15:31:32
13278
17
原创 第一个 Spring 程序
文章目录创建项目运行打包创建项目打开 https://start.spring.io/,按下图所示选择相应的选项,点击「Generate」按钮,就会下载一个压缩包,里面是一个完整的SpringBoot应用的骨架。解压之后,里面的文件如下图所示:用 Idea 打开这个项目打开项目后右下角会有一个进度条显示正在解析项目依赖,可能会占用较长时间,不要着急,等进度条走完再继续下面的步骤。...
2019-10-09 22:14:32
183
2
原创 MongoDB 的基本操作
基本概念:数据库(database)集合(collection)文档(document)一个 MongoDB 中可以包含多个数据库,一个数据库中包含多个集合,一个集合中包含多个文档。基本指令:显示所有的数据库:show dbs或show databases进入数据库:use 数据库名。比如:use local若在use后面跟一个不存在的数据库名,也能成功进入到该数据...
2019-09-21 18:55:23
107
翻译 浅析Java 中 hashCode() 函数和 equals() 函数的一些坑
默认情况下,java.lang.Object 类提供了两个非常重要的函数:equals() 和 hashCode(),当你需要对两个对象进行比较时,就会用到这两个方法。尤其是在大型项目中,多个类之间的需要交互时,这两个方法显得更加重要。在这篇文章中,我们将探讨这两个函数之间的关系,他们默认的实现方式,以及什么情况下开发者必须重载这两个方法。JDK 中的定义以及默认的实现方式equals(Ob...
2019-09-12 20:12:07
265
原创 约瑟夫问题
约瑟夫问题描述如下:约瑟夫问题解题思路如下:用单循环链表模拟犯人,链表中的每一个节点代表一个犯人。假设总共有 n 个犯人,每隔 m 个犯人处决一个,起始位置是 k,那么从第 k 个节点开始遍历,遍历到第 m+1 个节点时,移除该节点。然后再从 1 遍历到 m+1……如此循环往复,直到只剩下一个节点,就是幸存的犯人。代码如下:/** * 约瑟夫问题 * filename: Josephu...
2019-09-03 16:47:23
149
原创 Linux 系统管理
一、进程管理进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。进程管理的作用:判断服务器健康状态查看系统中所有进程杀死进程1.1 进程查看1.1.1 ps查看系统中所有进程的命令是:ps aux #查看系统中所有进程,使用BSD操作系统格式或ps -le #查看系统中所有进程,使用Linux标准命令格式ps au...
2019-09-01 16:06:59
330
原创 Linux 服务管理
文章目录一、服务的分类1.1 启动与自启动1.2 查询已安装的服务二、独立服务的管理2.1 独立服务的启动2.2 独立服务的自启动2.2.1 使用 chkconfig 命令2.2.2 修改 /etc/rc.d/rc.local 文件2.2.3 使用 ntsysv 命令一、服务的分类1.1 启动与自启动服务启动: 就是在当前系统中让服务运行,并提供功能。服务自启动: 自启动是指让服务在系...
2019-08-25 16:20:05
190
原创 Shell 编程之流程控制
一、if 条件语句1.1 单分支if [ 条件判断式 ]; then 程序fi或者:if [ 条件判断式 ] then 程序fi单分支条件语句需要注意几个点:if 语句使用 fi 结尾,和一般语言使用大括号结尾不同[ 条件判断式 ]就是使用 test 命令判断,所以中括号和条件判断式之间必须有空格then 后面跟符合条件之后执行的程序,可以放在[]之后,用;分割。...
2019-08-25 13:20:12
271
原创 Shell 编程之条件判断
文章目录一、按照文件类型进行判断二、按照文件权限进行判断三、两个文件之间进行比较四、两个整数之间的比较五、字符串的判断六、多重条件判断一、按照文件类型进行判断判断格式有两种,一种是用 test,例如:test -e /etc/passwd另外一种是用方括号:[ -e /etc/passwd ]执行结果如下:若测试一个不存在的文件,则会返回 1:二、按照文件权限进行判断...
2019-08-23 19:58:23
221
原创 Shell 编程之文本的处理
一、cut1.1 cut 的使用方式cut 命令的语法格式是:cut [选项] 文件名。选项:-f 列号:提取第几列-d 分隔符:按照指定分隔符分割列cut 命令默认是以制表符作为分隔符,假设我有这样一个文件,文件名是 student_info.txt,文件内容如下:Sno Sname Class Grade1 Luffy 1001 902 Zoro 1001 953 Sa...
2019-08-23 19:50:38
369
原创 Shell 编程之 Shell 的基本功能和变量
文章目录一、Shell 概述1.1 什么是 Shell?1.2 Shell 的分类1.3 Linux 支持的 Shell二、Shell 脚本的执行方式2.1 echo 命令2.2 第一个脚本2.3 脚本执行三、Bash 的基本功能3.1 历史命令3.1.1 history 命令的选项3.1.2 修改历史命令默认保存的条数3.1.3 历史命令的调用3.2 命令与文件名补全3.3 别名与快捷键3.3....
2019-08-20 20:43:35
452
原创 MongoDB的配置与启动
安装好 MongoDB 后,找到 MongoDB 安装路径下的 bin 目录,将其添加到环境变量 Path 中。打开命令提示符,输入以下命令启动 MongoDB:mongod --dbpath="F:\mongodb"其中--dbpath="F:\mongodb"是用来指定数据库的存放目录。MongoDB 服务器默认监听的端口号是 27017,如果你想设置一个别的端口号,可以在启动 M...
2019-08-08 17:46:02
215
原创 迪菲·赫尔曼密钥交换
迪菲·赫尔曼密钥交换是一种安全协议。它可以让双方在完全没有对方任何预先信息的条件下通过不安全信道创建起一个密钥。这个密钥可以在后续的通讯中作为对称密钥来加密通讯内容。假设 A 和 B 要交换密钥,迪菲·赫尔曼密钥交换的过程如下:首先,A 公开一个质模数和一个生成元,假设分别是 17 和 3。注意:质模数是一个质数,而且这个数越大越好。A 和 B 分别选取一个随机数,分别记做 xax_axa...
2019-07-28 11:13:56
1114
1
原创 Shell 编程之输入输出重定向
一、标准输入输出设备设备文件名文件描述符类型键盘/dev/stdin0标准输入显示器/dev/stdout1标准输出显示器/dev/stderr2标准错误输出二、输出重定向 类型符号作用 标准输出重定向 ...
2019-06-22 21:51:52
345
原创 文件系统属性权限 chattr
chattr 命令的作用是修改 Linux 文件系统中的文件的属性。chattr 命令的格式是:chattr [+-=] [选项] 文件或目录名「+」就是增加权限,「-」就是删除权限,「=」就是赋予权限。chattr 支持的选项主要有两种,i 和 a。i: 如果对文件设置 i 属性,那么不允许对文件进行删除、改名,也不能添加和修改数据;如果对目录设置i属性,那么只能修改目录下文件的数据...
2019-06-16 20:12:25
268
原创 文件特殊权限
文章目录一、SetUID二、Sticky BIT一、SetUIDSetUID 也叫 SUID,它的特点如下:只有可以执行的二进制程序才能设定 SUID 权限命令执行者要对该程序拥有 x(执行)权限命令执行者在执行该程序时获得该程序文件属主的身份(在执行程序的过程中灵魂附体为文件的属主)SetUID 权限只在该程序执行过程中有效,也就是说身份改变只在程序执行过程中有效SetUID ...
2019-06-16 16:15:32
1632
原创 ACL 权限
文章目录一、简介与开启1.1简介1.2 开启 ACL 权限1.2.1 临时开启1.2.2 永久开启二、查看与设定2.1 设定 ACL 权限2.2 查看文件的 ACL 权限三、最大有效权限四、删除 ACL 权限五、递归 ACL 权限六、默认 ACL 权限一、简介与开启1.1简介在之前的一篇文章 Linux 权限管理命令 中我讲过,不同的用户对于一个文件会有三种身份:所有者、所属组成员、其他人。...
2019-06-16 13:24:37
709
原创 Linux 用户管理命令
文章目录一、用户添加命令:useradd二、密码设置命令:passwd2.1 -S 查询用户的密码状态2.2 -l 锁定用户,-u 解锁用户2.3 --stdin 使用字符串作为用户的密码三、修改用户信息:usermod四、修改用户密码状态:chage五、删除用户:userdel六、查看用户 ID 和用户所在的组的 ID:id七、用户切换命令:su以 root 用户的身份执行命令八、查看登录用户信...
2019-06-05 10:32:02
954
原创 Wireshark 抓包教程
以管理员身份运行 Wireshark,打开之后显示如下界面:这里会显示你电脑上的所有网卡(包括真实网卡和虚拟网卡)和 USB 接口,双击任意一个正在使用中的网卡,会出现如下界面:左上角的红色方块亮起表示正在抓包,所有经过这个网卡的网络包都会被截取到,点击那个红色方块就可以停止抓包。上方的文本框可以输入一些规则,对抓到的包进行过滤,比如只看 UDP 协议的包,可以输入 udp 然后回车;如...
2019-05-21 20:05:13
2051
原创 用户管理之用户配置文件
文章目录一、用户信息文件二、影子文件三、组信息文件四、其他与用户管理相关的文件用户的家目录用户的邮箱用户模板目录一、用户信息文件用户信息文件的存放路径是 /etc/passwd,用 vim 查看一下文件内容:乍一看好像眼花缭乱的,没有头绪。不过没关系,我们可以利用帮助命令 man 5 passwd 来看一下 passwd 配置文件的作用。主要就是看图中圈出来的那两行,它告诉我们,pas...
2019-05-11 13:51:02
3452
原创 搭建光盘 yum 源
文章目录第一步 挂载光盘第二步 让网络 yum 源文件失效第三步 修改光盘 yum 源文件yum 可以很方便地帮助我们在线安装软件,但是有时候 Linux 可能会连不上网,这时候,如果将本地光盘作为 yum 源的话,同样可以非常方便地使用 yum 命令。本篇文章就向大家介绍一下如何搭建光盘 yum 源。第一步 挂载光盘[root@localhost cdrom]# mount /dev/sr...
2019-05-01 21:53:05
543
原创 GitHub 高级搜索
文章目录在 readme 中搜索指定 Star 范围更多高级搜索在 readme 中搜索如果想在 readme 中搜索关键词,需要在搜索的时候在关键词后面加上「in:readme」比如,在 GitHub 中搜索「Git 学习资料 in:readme」指定 Star 范围假设我只想看 Star 数量超过 1000 的项目,那么可以在关键词后面加上「stars:>1000」,该命令也...
2019-04-27 21:33:16
1392
原创 Git 教程(四)独自使用 Git 时的场景
文章目录一、文件操作二、找不同2.1 比较 HEAD 和暂存区文件的不同2.2 比较工作区和暂存区文件的不同2.3 看看不同 commit 的指定文件的差异2.3.1 比较两个分支中所有文件的不同2.3.2 比较两个分支中指定文件的不同三、恢复3.1 把工作区的文件恢复成和暂存区一样3.2 把暂存区的文件恢复成和 HEAD 一样四、消除最近的几次提交五、开发中临时加塞了紧急任务怎么处理?六、指定不...
2019-04-26 00:11:13
247
Tftpd64-4.64.zip
2019-06-07
Wireshark-win64-3.0.0.zip
2019-06-04
爬取新浪网的新闻资讯并保存
2017-08-06
利用Python爬虫抓取网页上的图片(含异常处理)
2017-08-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人