再看二分查找
再看二分查找
平衡版
123456789101112public static int binarySearchBalance(int[] a, int target) { int i = 0, j = a.length; while (1 < j - i) { int m = (i + j) >>> 1; if (target < a[m]) { j = m; } else { i = m; } } return (a[i] == target) ? i : -1;}
思想:
左闭右开的区间,iii 指向的可能是目标,而 jjj 指向的不是目标
不奢望循环内通过 mmm 找出目标, 缩小区间直至剩 1 个, 剩下的这个可能就是要找的(通过 iii)
j−i>1j - i > 1j−i>1 的含义是,在范围内待比较的元素个数 > ...
初识算法
初识算法
什么是算法?
定义
在数学和计算机科学领域,算法是一系列有限的严谨指令,通常用于解决一类特定问题或执行计算
In mathematics and computer science, an algorithm (/ˈælɡərɪðəm/) is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation.[^1]
Introduction to Algorithm
不正式的说,算法就是任何定义优良的计算过程:接收一些值作为输入,在有限的时间内,产生一些值作为输出。
Informally, an algorithm is any well-defined computational procedure that takes some value, or set of values, as input and produces some value, or set of values, a ...
Java
测试cicd0000
hexo 标签外挂
Tabs
出师表图库李白臣亮言:先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。然侍衞之臣不懈于内,忠志之士忘身于外者,盖追先帝之殊遇,欲报之于陛下也。诚宜开张圣听,以光先帝遗德,恢弘志士之气,不宜妄自菲薄,引喻失义,以塞忠谏之路也。
宫中府中,俱为一体;陟罚臧否,不宜异同:若有作奸犯科及为忠善者,宜付有司论其刑赏,以昭陛下平明之理;不宜偏私,使内外异法也。
侍中、侍郎郭攸之、费祎、董允等,此皆良实,志虑忠纯,是以先帝简拔以遗陛下:愚以为宫中之事,事无大小,悉以谘之,然后施行,必能裨补阙漏,有所广益。
将军向宠,性行淑均,晓畅军事,试用于昔日,先帝称之曰 “能”,是以众议举宠为督:愚以为营中之事,悉以谘之,必能使行阵和睦,优劣得所。
亲贤臣,远小人,此先汉所以兴隆也;亲小人,远贤臣,此后汉所以倾颓也。先帝在时,每与臣论此事,未嘗不叹息痛恨于桓、灵也。侍中、尚书、长史、参军,此悉贞良死节之臣,愿陛下亲之、信之,则汉室之隆,可计日而待也。
臣本布衣,躬耕于南阳,苟全性命于乱世,不求闻达于诸侯。先帝不以臣卑鄙,猥自枉屈,三顾臣于草庐之中,谘臣以当世之事,由是感激,遂许先帝以 ...
butterfly 安装文档
参考官网
参考官网 butterfly
Front-matter
Front-matter
Front-matter 是 markdown 文件最上方以 --- 分隔的区域,用于指定个别档案的变数。
Page Front-matter 用于页面配置
Post Front-matter 用于文章页配置
如果标注可选的参数,可根据自己需要添加,不用全部都写在 markdown 里
Page Front-matter
1234567891011121314151617markdown---title:date:updated:type:comments:description:keywords:top_img:mathjax:katex:aside:aplayer:highlight_shrink:random:---
写法
解释
title
【必需】页面标题
date
【必需】页面创建日期
type
【必需】标签、分类和友情链接三个页面需要配置
updated
【可选】页面更新日期
description
【可选】页面描述
keywords
【可选】页面关键字
comments
【可选】显示页面评论模块 (默认 ...
Git 常用命令
仓库
12345678# 在当前目录新建一个Git代码库$ git init# 新建一个目录,将其初始化为Git代码库$ git init [project-name]# 下载一个项目和它的整个代码历史$ git clone [url]
配置
123456789# 显示当前的Git配置$ git config --list# 编辑Git配置文件$ git config -e [--global]# 设置提交代码时的用户信息$ git config [--global] user.name "[name]"$ git config [--global] user.email "[email address]"
增加/删除文件
123456789101112131415161718192021# 添加指定文件到暂存区$ git add [file1] [file2] ...# 添加指定目录到暂存区,包括子目录$ git add [dir]# 添加当前目录的所有文件到暂存区$ git add .# 添加每个变化前,都会要求确认# 对于同一个文件的多处变 ...
hexo 常用命令
Hexo 是一个快速、简单且强大的博客框架,基于 Node.js 构建。
快速开始
12345npm install hexo-cli -ghexo init blogcd blognpm installhexo server
初始化 Hexo 博客
1hexo init [folder]
初始化一个新的 Hexo 博客项目。如果不指定 folder,则会在当前目录下创建。
新建文章
1hexo new [layout] "Title"
创建一篇新的文章。如果未指定 layout,则会使用 _config.yml 文件中的 default_layout 设置。
生成静态文件
1hexo generate
1hexo g
生成静态 HTML 文件。
启动本地服务器
1hexo server
1hexo s
启动本地服务器以预览博客。
启动静态模式的本地服务器
1hexo server -s
在静态模式下启动本地服务器。
更改本地服务器端口
1hexo server -p 5000
自定义 IP 地址启动本地服务器
1hexo server -i 192.168.1 ...
Markdown的语法
Markdown 是一种轻量级的标记语言,用于编写易于阅读和编写的文档。
标题
在 Markdown 中支持六级标题,在若干个 # 后面跟上标题内容即可成为标题,写法如下
123456# 一级标题## 二级标题### 三级标题#### 四级标题##### 五级标题###### 六级标题
注意:
标准写法要求在 # 与标题内容之间有一个空格
Notion 只支持到三级标题
列表
在 Markdown 中大致分为三种列表:无序列表、有序列表以及 TODO。
无序列表
无序列表的形式如下:
足球
篮球
乒乓球
可以看到在列表项前有一个黑色原点,我们将其称之为子弹头,所以无需列表也可以称为 bullet list。
要制作一个无序列表,只需要在列表项前加上 -、* 或 + 号即可,我一般使用 - 号,所以上述的列表项是这么写的
123- 足球- 篮球- 乒乓球
注意:在 - 和内容之间需要有一个空格
此外列表项还可以嵌套,例如:
中国
北京
上海
南昌
日本
东京
嵌套的语法也很简单,使用两个空格或者 Tab 键进行缩进即可,如下
123456- 中国 - ...
Markdown Style test
This post is originated from here and is used for testing markdown style. This post contains nearly every markdown usage. Make sure all the markdown elements below show up correctly.
Headers
1234567891011121314# H1## H2### H3#### H4##### H5###### H6Alternatively, for H1 and H2, an underline-ish style:Alt-H1======Alt-H2------
H1
H2
H3
H4
H5
H6
Alternatively, for H1 and H2, an underline-ish style:
Alt-H1
Alt-H2
Emphasis
1234567Emphasis, aka italics, with *asterisks* or _underscores_.Strong empha ...