二分
整数二分要根据题目确定边界的等号是否取到
12345678910111213141516171819202122232425262728//check是根据题目定的一个判断方法public static boolean check(int x) { /* ... */}// 区间[l, r]被划分成[l, mid]和[mid + 1, r]时使用:public static int bsearch_1(int l, int r){ while (l < r) { //>>>表示无符号运算 int mid = l + r >>> 1; if (check(mid)) r = mid; // check()判断mid是否满足性质 else l = mid + 1; } return l;}// 区间[l, r]被划分成[l, mid - 1]和[mid, r]时使用:public static in ...
快排和归并浅析
快速排序法
确定分界点:一般为数组最左边,最右边或者中间的元素
调整范围:左段的所有数应该都小于分界点的数,右段的数应该都大于分界点的数
设置两个指针,一个指向数组最左边,一个指向数组最右边。左指针向右移动,直到遇到不小于分界点的数,进而右指针向左移动,直到遇到不大于分界点的数,然后将左右指针指向的数进行交换。交换后,左指针继续向右移动,循环上面的过程,直到左右两指针相遇,此时左右两段应该已经被分好。
递归处理左右两段
123456789101112131415161718192021public static void quickSort(int[] arr, int l, int r) { //当左指针大于等于右指针时返回 if (l >= r) return; //设置分界点,左右指针 int pos = arr[l], i = l - 1, j = r + 1; while (i < j) { //判断左段 while (arr[++i] < pos) {} //判断右段 ...
shell
man chmod 是一个用于查看 chmod 命令手册页的指令。让我为您解释一下这个命令的主要内容:
命令用途:chmod 用于更改文件或目录的权限。
基本语法:
1chmod [选项] 模式 文件...
权限表示方法:
符号模式:使用字母和符号(如 u+x, g-w, o=r 等)
八进制模式:使用数字(如 755, 644 等)
符号模式说明:
u:用户/所有者
g:组
o:其他
a:所有
+:添加权限
-:移除权限
=:设置精确的权限
r:读取权限
w:写入权限
x:执行权限
八进制模式说明:
4:读取权限
2:写入权限
1:执行权限
例如:755 表示 rwxr-xr-x
常用选项:
-R:递归地更改目录及其内容的权限
-v:显示权限更改的详细信息
示例:
chmod u+x file:给文件所有者添加执行权限
chmod 755 file:设置权限为 rwxr-xr-x
chmod -R g+w directory:递归地给目录及其内容添加组写入权限
注意事项:
只有文件所有者或超级用户 ...
计算机网络
计算机网络第一章 计算机网络概述定义计算机网络主要是由一些通用的,可编程的硬件互联而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或者视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。
分类
交换方式:电路交换,分组交换,报文交换
使用者:公用网(因特网),专用网(军队,铁路,电力,银行)
传输介质:有线,无线
覆盖范围:广域网(WAN),城域网(MAN),局域网(LAN),个域网(PAN)、
拓朴结构:总线型,星型,环型,网状型
三种数据交换方式电路交换
计算机之间的数据传输是突发式的,当使用电路交换来传送计算机数据时,其线路的传输效率一般都会很低,线路上真正用来传送数据的时间往往不到10%甚至1%,因此计算机通讯通常采用分组交换。
分组交换
优点:
没有建立连接和释放连接的过程
分组传输过程中逐段占用通信链路,有较高的通信线路利用率
交换节点可以为每一个分组独立选择转发路由,使得网络有很好的生存性
缺点:
分组首部带来了额外的传输开销
交换节点存储转发分组会造成一定的时延
无法确保通信时端到端通信资源全部可用,在通 ...
hexo图片插入失败的解决方法
[[hexo搭建博客]]
解决方法本人根据hexo官方文档来解决问题。
在博客所在文件夹的目录中找到_config.yml,并将文件中的post_asset_folder选项设置为true来打开。
根据官方文档的介绍,在资源文件管理功能打开以后,hexo将会在每一次通过hexo new title命令创建新文章时自动创建一个与文章同名的文件夹,将所有与文章有关的资源都会被放在这个文件夹中,方便后续的管理。
官方文档提供了两种方法,我这里采用了第二种方法,感兴趣的也可以去官方文档看看第一种方法。下载hexo-renderer-marked插件,这个可以直接在markdown中嵌入图片。
在博客文件夹下打开终端输入
npm install hexo-renderer-marked --save
如果速度很慢,导致无法下载的情况,可以选择配置路径为taobao的免费registry:
npm config set registry https://r*egistry.npm.taobao.org
配置后可通过下面方式来验证时候成功
npm config get registry或者 ...
git工作流
git工作流git
hexo搭建博客
博客搭建过程安装前的准备注意事项以下所有的命令没有特别说明都可以在cmd或者powershell中运行,如果无法运行请使用管理员模式进行
下载并安装node.js
官网下载:https://nodejs.org/en/download
安装后l验证:node -v
下载并安装git
官网下载:https://git-scm.com/download
安装后验证:git -v
命令行安装cnpm
命令: npm install -g cnpm --registry==https://registry.npm.taobao.org (使用的淘宝源,速度快一点)
安装后验证:cnpm -v
命令行安装hexo
命令:cnpm install -g hexo-cli
安装后验证 : hexo -v
配置github在github上创建仓库创建
创建一个名为:[你的用户名].github.io的仓库(创建的时候中括号去掉)
例如:假如你的名字叫love,那么这个仓库应该叫love.github.io。创建之后,你就可以通过这个网站来访问你的博客。因此,每一个github账户最多只能创 ...