Weiguo's Station

  • 博客首页

  • 文章归档

  • 分类专栏

  • 各种标签

  • 站点搜索

二分查找 - BinarySearch

发表于 2017-12-23 更新于 2021-03-22 分类于 LeetCode

详细原文这里:特别好用的二分查找法模板

1. 二分查找的基本思想

二分查找的基本思想是:夹逼法或者叫排除法

在每一轮循环中,都可以排除候选区间里将近一半的元素,进而使得候选区间越来越小,直至有限个数(通常为1个),而这个数就有可能是我们要找的数(在一些情况下,还需要单独做判断)。

阅读全文 »

归并排序 - MergeSort

发表于 2017-12-22 更新于 2021-03-22 分类于 LeetCode

归并排序 - MergeSort


合并函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void merge(int *arr, int left, int mid, int right)
{
int *tmparr = new int[right - left + 1];
int leftindex = left, rightindex = mid + 1;
int tmpindex = 0;
while (leftindex <= mid && rightindex <= right)
{
if (arr[leftindex] < arr[rightindex])
tmparr[tmpindex++] = arr[leftindex++];
else
tmparr[tmpindex++] = arr[rightindex++];
}
while (leftindex <= mid)
tmparr[tmpindex++] = arr[leftindex++];
while (rightindex <= right)
tmparr[tmpindex++] = arr[rightindex++];
tmpindex = 0;
while (left <= right)
arr[left++] = tmparr[tmpindex++];
}
阅读全文 »

快速排序 - QSort

发表于 2017-12-21 更新于 2021-03-22 分类于 LeetCode

快速排序 - QSort


第一种Partition的方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
int Partition(int* data, int length, int start, int end)
{
if (data == nullptr || length <= 0 || start < 0 || end >= length)
return -1;

int small = start - 1;
for (int index = start; index < end; index++)
{
if (data[index] < data[end])
{
small++;
if (small != index)
swap(data[index], data[small]);
}
}
small++;
swap(data[small], data[end]);
return small;
}
void Qsort(int* data, int length, int start, int end)
{
if (start == end)
return;
int index = Partition(data, length, start, end);
if (index > start)
Qsort(data, length, start, index - 1);
if (index < end)
Qsort(data, length, index + 1, end);
}
阅读全文 »

Latex公式语法

发表于 2017-12-12 更新于 2021-03-22 分类于 基础知识

KaTex用法如下:

KATEX: https://katex.org/docs/supported.html

LaTex用法如下:

目录

  • 1.上标与下标
  • 2.分式
  • 3.根式
  • 4.求和与积分
  • 5.公式中的空格
  • 6.公式中的定界符
  • 7.矩阵
  • 8.排版数组
  • 9.数学模式重音符号
  • 10.希腊字母
  • 11.二元关系
  • 12.“大”运算符
  • 13.箭头
  • 14.定界符
  • 15.大定界符
  • 16.其他符号
  • 17.非数学符号
  • 18.AMS定界符
  • 19.AMS希腊和希伯来字母
  • 20.AMS二元关系
  • 21.AMS箭头
  • 22.AMS二元否定关系符和箭头
  • 23.AMS二元运算符
  • 24.AMS其他符号
  • 25.数学字母
阅读全文 »

MarkDown语法

发表于 2017-12-12 更新于 2021-03-22 分类于 基础知识

主要内容

  • Markdown是什么?
  • 谁创造了它?
  • 为什么要使用它?
  • 怎么使用?
  • 谁在用?

正文

1. Markdown是什么?

Markdown是一种轻量级标记语言,它以纯文本形式(易读、易写、易更改)编写文档,并最终以HTML格式发布。
Markdown也可以理解为将以MARKDOWN语法编写的语言转换成HTML内容的工具。

阅读全文 »

Anaconda解决Python2和Python3共存

发表于 2017-11-13 更新于 2021-03-22 分类于 小工具

Anaconda解决Python2和Python3共存


下载Anaconda

直接从官网下载即可,https://www.anaconda.com/download/。建议选择Python3版本的Anaconda进行下载,下载完成安装即可。

conda 是 Anaconda 下用于包管理和环境管理的命令行工具,是 pip 和 vitualenv 的组合。安装成功后 conda 会默认加入到环境变量中,因此可直接在命令行窗口运行 conda 命令

阅读全文 »

Jekyll With Mathjax

发表于 2017-11-12 更新于 2021-03-22 分类于 小工具

设置Jekyll和Github上的Mathjax

如何做呢?

很简单。

  • 1.到你的Jekyll目录下,默认路径为username.github.io/_includes/head.html

  • 2.将下列代码复制粘贴到里面(注意要放到 … </head>之间)

阅读全文 »
1…89
WeiguoZHAO

WeiguoZHAO

Welcome to my blog~
87 日志
13 分类
49 标签
GitHub E-Mail
大牛们
  • colah's blog
  • 王喆的Github
  • 刘建平的Github
  • 美团技术团队
© 2021 WeiguoZHAO
0%